WordPress 在做反向代理后 不自动 https导致样式实效的解决方法

910人参与 |分类: 技术文章|时间: 2022年01月01日
当前位置:网站首页 > 技术文章 > WordPress 在做反向代理后 不自动 https导致样式实效的解决方法

WordPress 官方默认 Docker 是基于 Apache 来做的,但为了自动加上 SSL,我用了一个 Nginx 容器来做反向代理。于是问题出现了:用 HTTPS 访问 Nginx,生成出来的网页里面所有生成的 URL 都是 HTTP,而不是 HTTPS。

解决办法:在 wp-config.php 里面加上下面的代码:

if((!empty( $_SERVER['HTTP_X_FORWARDED_HOST'])) || (!empty( $_SERVER['HTTP_X_FORWARDED_FOR'])) ) { 

    $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST']; 

    $_SERVER['HTTPS'] = 'on'; 

}

就是说,如果发现我们用 HTTPS 访问反向代理,那么给全局变量里面增加一个 HTTPS 的 Flag。 

 所以说呢,直接跑 FPM 的 Docker,加上 Nginx 反代就好了嘛……Apache 的 Docker 会麻烦一些。

本文来源:廖维林博客,转载请保留出处和链接!

本文地址: