解决nginx代理配置下wordpress的 /wp-admin/返回 302 重定向到登录页问题

问题分析

  1. 访问 http://www.xx.com/wp-admin/触发 302 重定向

  2. 重定向目标:http://www.xx.com/wp-login.php?redirect_to=...

  3. 核心需求:通过 Nginx 代理使 WordPress 后台可正常访问

第一步:Nginx 配置

bash 复制代码
    #wordpress配置begin-----

    # 主代理配置(处理所有请求)
    location / {
        # 代理到实际的 WordPress 服务(替换为您的后端地址)
        proxy_pass http://0.0.0.0:8036;
        
        # 关键:修复重定向路径
        proxy_redirect http://www.xx.com/wp-login.php /wp-login.php;
        proxy_redirect http://www.xx.com/wp-admin /wp-admin;
        
        # 传递必要头信息(防止会话丢失)
        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_set_header X-Forwarded-Proto $scheme;
        
        # 处理Cookie路径问题
        proxy_cookie_path / "/; HttpOnly; Secure; SameSite=Lax";
        proxy_cookie_domain 0.0.0.0:8036 www.xx.com;
    }

    # 处理登录路径(关键!)
    location ^~ /wp-login.php {
        proxy_pass http://0.0.0.0:8036/wp-login.php;
        
        # 修复重定向循环问题
        proxy_redirect http://www.xx.com/wp-admin /wp-admin;
        proxy_redirect http://www.xx.com/wp-login.php /wp-login.php;
        
        # 增强安全性头
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    #wordpress配置end  -----

第二步:后端 WordPress 必备配置

在 WordPress 的 wp-config.php中添加:

php 复制代码
// 强制使用代理域名
define('WP_HOME', 'http://www.xx.com');
define('WP_SITEURL', 'http://www.xx.com');

// 信任代理头
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
}
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'] ?? $_SERVER['HTTP_HOST'];
相关推荐
自可乐10 小时前
n8n全面学习教程:从入门到精通的自动化工作流引擎实践指南
运维·人工智能·学习·自动化
枷锁—sha10 小时前
【SRC】越权漏洞检测
运维·服务器·网络·安全·网络安全·系统安全
UP_Continue10 小时前
Linux--进程控制
linux·运维·服务器
等什么君!11 小时前
docker -数据卷技术
运维·docker·容器
小白跃升坊13 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
杨江13 小时前
seafile docker安装说明
运维
好好沉淀13 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng13 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.14 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独14 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3