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

Docker部署WordPress经Apache反向代理后重定向至127.0.0.1求助

解决方案:WordPress通过Apache反向代理后重定向到本地IP的问题

核心原因

你的Apache反向代理未将真实的外部请求域名、协议传递给后端WordPress容器,导致WordPress误判自身访问地址为127.0.0.1:8585,进而生成错误的重定向链接。

步骤1:修改Apache虚拟主机配置

在你的<VirtualHost *:443>块中添加请求头配置,把真实的外部访问信息传递给WordPress:

# 传递真实请求的协议、域名和端口
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Host "example.com"
RequestHeader set X-Forwarded-Port "443"

# 保留原有反向代理配置
ProxyPass / http://127.0.0.1:8585/
ProxyPassReverse / http://127.0.0.1:8585/

步骤2:更新WordPress配置

在wp-config.php中补充以下代码,让WordPress信任反向代理的头部信息并强制HTTPS:

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);

// 识别反向代理传递的HTTPS协议
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

// 保留你之前设置的站点地址
define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');

步骤3:(可选)Docker Compose环境变量配置

如果通过Docker Compose管理WordPress,可直接通过环境变量注入配置,避免手动修改容器内文件:

services:
  wordpress:
    image: wordpress:latest
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
      WORDPRESS_CONFIG_EXTRA: |
          define('WP_HOME','https://example.com');
          define('WP_SITEURL','https://example.com');
          define('FORCE_SSL_ADMIN', true);
          define('FORCE_SSL_LOGIN', true);
          if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
              $_SERVER['HTTPS'] = 'on';
          }
    # 其他端口、卷挂载配置...

验证操作

重启Apache服务和WordPress容器后,访问域名即可正常加载首页,不再重定向到127.0.0.1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:05:31