You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

反向代理下WordPress配置强制HTTPS后登录跳转提示Cookie错误如何解决?

问题成因
  • Cookie属性校验失败:WordPress后台登录需要生成带正确secure属性、域名、路径的身份验证Cookie,你当前配置未明确指定Cookie相关参数,且使用协议相对路径定义WP_HOME和WP_SITEURL,导致WordPress无法正确识别HTTPS运行环境,生成的Cookie属性不符合浏览器安全要求被拒绝存储,因此抛出Cookie未启用的错误提示。
  • 多层重定向冲突:你同时在反向代理层、.htaccess文件、WordPress内核三层配置了HTTPS跳转规则,且没有同步修改$_SERVER['SERVER_PORT']为HTTPS对应的443端口,WordPress始终判断站点运行在HTTP协议下,触发协议校验逻辑导致无限重定向。
解决方案

1. 调整wp-config.php配置

将你现有的站点地址、HTTPS识别相关代码替换为以下内容,注意要放在/* That's all, stop editing! Happy publishing. */注释行的上方:

// 识别反向代理传递的HTTPS状态
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}
// 固定站点HTTPS地址
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
// 配置Cookie参数解决登录校验问题
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('COOKIE_SECURE', true);
define('ADMIN_COOKIE_PATH', '/');
// 强制后台使用HTTPS
define('FORCE_SSL_ADMIN', true);

2. 清理.htaccess冗余规则

删除你之前添加的HTTP转HTTPS规则,仅保留WordPress默认伪静态规则即可,避免和反向代理的跳转逻辑冲突:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

3. 验证生效

清理浏览器缓存和站点相关Cookie后,重新访问后台登录即可。如果修改后仍有问题,请确认反向代理配置中已正确添加X-Forwarded-Proto头的传递规则。


内容的提问来源于stack exchange,提问作者Jakob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:24:07