Nginx反向代理wordpress并启用https
反向代理wordpress遇到了问题,nginx不启用https,反向代理没问题(wordpress和nginx之间走http),但是nginx启用了https,页面上的样式就没有了,f12查看,发现js和css走的还是http,所以404
根本原因:wordpress代码里没有开启https,(wordpress认为自己是被http访问的,毕竟nginx是通过http来访问它的)
修改wordpress配置
感觉这种方案最靠谱,谁的债谁来还。。
在wp-config.php
的if ( ! defined( ‘ABSPATH’ ) )
前面添加:
1 | $_SERVER['HTTPS'] = 'on'; |
如果是官方Docker容器的话
强烈建议Nginx的location /里面添加一个头:
1 | proxy_set_header X-Forwarded-Proto $scheme; |
wordpress官方Docker镜像会检测这个头来判断是否代码里开启https
原因是在:
wp-config.php里面, 为了开启下面的参数
1 | if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BLOG!