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

多Docker-Compose配置下Nginx反向代理WordPress连接失败排查

问题分析与解决方案

你的连接拒绝问题主要出在容器间通信的端口配置错误,再加上Nginx配置的小语法问题,咱们一步步来解决:

1. 核心错误:反向代理用了宿主机映射端口而非容器内部端口

你的WordPress容器配置里,ports: - "8080:80" 是把宿主机的8080端口映射到容器内部的80端口。但容器之间通过Docker网络通信时,应该直接用容器内部的端口(80),而不是宿主机的映射端口(8080)。

你当前Nginx配置里的proxy_pass http://$docker_host:8080; 是错误的,必须改成http://$docker_host:80;。

2. 修复Nginx配置的语法问题

你提供的Nginx配置片段有语法错误:127.0.0.11; 前面缺少了resolver关键字,正确的完整配置应该是:

server {
  listen 80;
  server_name myapp.local;
  # Docker内置DNS解析器
  resolver 127.0.0.11 valid=30s;
  location / {
    set $docker_host "app_web";
    proxy_pass http://$docker_host: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;
  }
}

补充:添加valid=30s能优化DNS缓存效率,而代理头可以让WordPress正确识别请求来源,避免后续出现后台登录跳转异常、静态资源加载失败等问题。

3. 确保Nginx与WordPress在同一网络

检查你的nginx/docker-compose.yml,必须让Nginx服务加入test_network网络(你的WordPress服务已经在这个网络里)。完整的Nginx docker-compose示例如下:

# nginx/docker-compose.yml
version: '3'
services:
  nginx:
    image: nginx:stable-alpine
    container_name: test.nginx
    volumes:
      - "./nginx.conf:/etc/nginx/conf.d/default.conf"
    ports:
      - "80:80"
    networks:
      - test_network
networks:
  test_network:
    external: true # 因为你提前创建了这个网络

4. 验证与重启服务

完成修改后,按顺序重启所有服务:

  1. 停止现有容器:
    docker-compose -f wordpress/docker-compose.yml down
    docker-compose -f nginx/docker-compose.yml down
    
  2. 重新启动WordPress服务:
    docker-compose -f wordpress/docker-compose.yml up -d
    
  3. 重新启动Nginx服务:
    docker-compose -f nginx/docker-compose.yml up -d
    

现在访问myapp.local应该就能正常反向代理到WordPress了。

额外优化建议

  • 尽量避免使用links指令(Docker官方已不推荐),你用自定义网络的方式是正确的,继续保持。
  • WordPress的ports: 8080:80可以保留,方便你直接通过宿主机localhost:8080测试,但容器间通信始终用内部端口80即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:01:50