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

子域名访问Docker容器服务出现NGINX 502错误,改配置后重定向过多

解决方案

配置错误点排查

你当前的配置存在3个核心错误:

  • Nginx upstream配置的WordPress端口不匹配:WordPress容器内部仅监听80端口,你现有配置写的wp:8000无对应服务
  • 反向代理未传递正确的请求头:WordPress无法识别外层访问的HTTPS协议,导致跳转逻辑异常
  • proxy_pass使用https协议访问WordPress容器:WordPress容器未配置HTTPS证书,无法响应https请求

分步修复操作

1. 替换nginx.conf为以下配置

user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid       /var/run/nginx.pid;

events {}

http {
  include        /etc/nginx/mime.types;
  default_type   application/octet-stream;

  log_format     main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
  access_log      /var/log/nginx/access.log  main;
  sendfile       on;
  keepalive_timeout 65;

  # 80端口统一跳转HTTPS
  server {
    listen 80;
    server_name *subdomain* *server_ip*;
    return 301 https://$host$request_uri;
  }

  # 443端口处理业务请求
  server {
    listen 443 ssl;
    server_name *subdomain* *server_ip*;
    ssl_certificate /etc/cloudflare/cert.pem;
    ssl_certificate_key /etc/cloudflare/key.pem;

    location / {
      proxy_pass http://wp:80;
      # 传递关键请求头,让WordPress识别真实访问协议和域名
      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;
    }
  }

  include /etc/nginx/conf.d/*.conf;
}

2. 新增WordPress协议识别配置

进入WordPress容器的/var/www/html/wp-config.php文件,在/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */前添加以下代码:

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

3. 重启服务生效

执行命令docker-compose down && docker-compose up -d重启所有容器即可。


内容的提问来源于stack exchange,提问作者Jacob Atwell Parry

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:06:03