我已经配置了varnish,但问题是,在http协议上,我返回的公共文件夹/etc/www/html不是在虚拟主机中配置的文件夹,而varnish在https协议上没有启用,您能帮我一下吗?以下是我的vps中的文件:
虚拟主机:
<VirtualHost 127.0.0.1:8080>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
#SetEnvIf X-Forwarded-Proto https HTTPS=on
<Directory /var/www/example >
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
#RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:80/
ProxyPassReverse / http://127.0.0.1:80/
</VirtualHost>ports.conf:
Listen 127.0.0.1:8080varnish.service:
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,2048mdefault.vcl
ackend default {
.host = "127.0.0.1";
.port = "8080";}
链接应该是https和http al varnish on port 80 varnish report on door 8080 https report in http with proxy,我哪里错了?我的mods基于这篇文章How To Use Apache2 for SSL Termination With Varnish
感谢那些能帮助我的人。显然,公共站点当前没有启用varnish
发布于 2020-06-22 14:39:30
为了进行这项测试,我在教程页面上运行了这个示例,它似乎工作得很好。
如果您的主目录与示例中的不同,只需更改以下指令中的路径:
DocumentRoot /var/www/example<Directory /var/www/example >最后,这是确保您的证书放在正确位置的问题:
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key您可能会更改这些路径,即实际证书和私钥的路径。
在使用以下命令重新启动systemd和您的服务之后,您应该可以开始工作了:
systemctl daemon-reload
systemctl restart apache2.service
systemctl restart varnish.service调试
如果你有任何错误,阻止你运行这篇文章,请分享错误信息。在这一点上,还不是100%清楚是什么阻碍了你。
以下命令将列出所有侦听端口以及正在侦听该端口的Linux服务。请使用它来确定是否在正确的端口上绑定了正确的服务:
netstat -plnt以下命令将显示有关HTTP请求、HTTP响应和Varnish中的内部处理的所有可用信息。它对主页("/")执行此操作。
varnishlog -g request -q "ReqUrl eq '/'"最后,您可以调试Apache错误/访问日志。也许它们包含了更多的相关信息:
tail -f /var/log/apache2/access.log /var/log/apache2/error.log您的Apache日志可能位于不同的路径。请相应调整。
https://stackoverflow.com/questions/62473461
复制相似问题