宝塔反向代理 WordPress
配置文件里做了修改:
申请SSL证书
默认已开启反向代理无法申请SSL证书。
会产生这个问题是因为在申请证书时,ca证书商会获取域名对应的ip,当开启反向代理后,ca证书商无法获取到我们申请域名的真实ip,所以开启反向代理时无法申请SSL证书,续签SSL证书会验证失败。
先关闭反向代理
申请SSL证书
配置文件增加目录,使后续的SSL证书可以自动续签:
重新开启反向代理
解决 反代 wordpress 后 js、css 不走 https 的问题
在 wp-config.php 里面引入 wp-settings.php 前加上:
// 根据$_SERVER['HTTP_X_FORWARDED_PROTO']判断反向代理过来的是否为https请求
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS']='on'; // 表示当前访问为https
//$_SERVER['REQUEST_URI'] = "/cms".$_SERVER['REQUEST_URI']; // 如果反向代理修改了URI,需要将全局变量_SERVER中的REQUEST_URI修改为对应的值,否则会一直重定向错误
}
// 判断是否访问请求经过代理
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST']; // 如果经过代理,需要修改主机地址
}
## 推荐登录和访问后台强制使用https
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
反向代理里面增加了:
# 向后端服务传递请求协议类型
proxy_set_header X-Forwarded-Proto $scheme;
参考:
https://legolasng.github.io/2018/06/26/nginx-reverse-proxy-wordpress
正文完