作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个设置,其中 Apache 在端口 80 上的 Varnish 4 后面监听端口 8080,但是我的客户端需要在站点上工作的 ssl,所以我使用 this guide 在端口 443 上设置 Nginx 以进行 SSL 终止.
起初在 http 上一切正常,但是在尝试在 https 上加载站点时,站点所需的脚本无法加载,因此我决定更改 Settings > General
中的站点 url。到 https url,在保存更改时,我在 Chrome 中收到重定向循环错误。
我无法访问该网站的 wordpress 仪表板来更改 url,所以我必须通过 phpmyadmin 来完成。但是现在当通过 https 访问该站点时,该站点会中断,导致它呈现内容所需的脚本未经过身份验证。
其他人也有同样的问题 here但看起来并没有解决。
我如何才能在 https
上拥有该网站在 Chrome 中没有重定向循环?
最佳答案
经过数小时的尝试使其正常工作,我终于找到了解决方法,我所要做的就是添加 HTTP_X_FORWARDED_PROTO
在我的 wp-config.php
就在更改站点 url 之前,这样:
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
proxy_set_header X-Forwarded-Protocol $scheme;
到我的
default
文件在
/etc/nginx/sites-enabled/default
所以它看起来像这样:
server {
...
location / {
...
proxy_set_header X-Forwarded-Protocol $scheme;
}
}
关于wordpress - 通过 Varnish/Apache On Wordpress 使用 Nginx SSL 终止重定向循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831317/
我是一名优秀的程序员,十分优秀!