Wordpress的标准做法,包括前端反代配置 + 后端 wp-config.php 配置的完整写法
› 社区话题 › wordpress开发 › WordPress 在负载均衡 / 内网穿透场景下 HTTPS 判断失效的原因与解决方案 › Wordpress的标准做法,包括前端反代配置 + 后端 wp-config.php 配置的完整写法
2025年8月4日 - 下午10:30 #951
追光
管理员
下面是整理「更完美方案」的标准做法,包括前端反代配置 + 后端 wp-config.php 配置的完整写法,便于直接复制使用?
✅ 前端反向代理配置(Nginx 示例)
确保在将请求转发给 WordPress 后端时,把真实的访问协议一起告诉它:
location / {
proxy_set_header X-Forwarded-Proto $scheme; # 把 https/http 告诉后端
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend-ip:port;
}如果你的反代前端一定为 HTTPS,也可以写成:
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;✅ 后端 WordPress (wp-config.php) 识别写法
在 wp-config.php 中找到:
/** Sets up WordPress vars and included files. */
require_once ABSPATH . ‘wp-settings.php’;
在它上方加入下面这一段逻辑:
/*
* 如果是通过反代转发的 https,则强制告知 WordPress 当前是 https
*/
if (
isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) === 'https'
) {
$_SERVER['HTTPS'] = 'on';
}
// 后台、登录强制 https(可选)
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);? 流程示意图
用户浏览器 (HTTPS)
↓
负载均衡 / Nginx 反代
自动注入 X-Forwarded-Proto=https
↓
后端 WordPress 收到(HTTP),识别该头 → 设置 $_SERVER[‘HTTPS’]=’on’
↓
WordPress 正确判断 https,后台/资源全部走 https,无跳转问题 ✅