通过Varnish / Apache在WordPress上使用Nginx SSL终止重定向循环
作者:互联网
我有一个设置,其中Apache在端口80上的Varnish 4后面监听端口8080,但是我的客户端需要ssl在网站上工作,所以我使用this guide在端口443上设置Nginx用于SSL终止.
一切都在http上工作正常,但在尝试在https上加载网站时,网站所需的脚本将无法加载,因此我决定更改设置中的网站网址>一般到https网址,保存更改后,我在Chrome中遇到重定向循环错误.
我无法访问该网站的wordpress仪表板来更改网址,所以我必须通过phpmyadmin这样做.但是现在当通过https访问该站点时,站点中断会导致呈现内容所需的脚本未经过身份验证.
其他人有同样的问题here,但看起来并没有解决.
如何在Chrome中没有重定向循环的情况下使用https网站?
解决方法:
经过几个小时试图让它工作,我终于找到了一个修复,我只需要在更改网站网址之前在我的wp-config.php中添加一个HTTP_X_FORWARDED_PROTO,这样:
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
我还要做的另一件事是添加proxy_set_header X-Forwarded-Protocol $方案;到/ etc / nginx / sites-enabled / default中的默认文件,所以它看起来像这样:
server {
...
location / {
...
proxy_set_header X-Forwarded-Protocol $scheme;
}
}
希望这有助于那里的人.
标签:apache,nginx,wordpress,ubuntu-14-04,varnish 来源: https://codeday.me/bug/20190716/1476187.html