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

不同Docker容器分别部署uWSGI与Nginx出现Connection refused问题

问题根因

你的502错误核心是Nginx配置的上游转发地址填写错误,和权限无关。

错误点说明

0.0.0.0是服务端监听用的特殊地址,代表监听当前设备所有网卡的请求,不能作为客户端请求的目标地址使用。
你已经将两个容器加入了同一个自定义Docker网络app_network,Docker内置DNS服务会自动将容器名称解析为对应容器的内网IP,因此你需要用uWSGI容器的名称作为转发目标的主机名。

修复步骤
  1. 修改Nginx站点配置,将配置块中的uwsgi_pass 0.0.0.0:8080;替换为:
uwsgi_pass flaskapp:8080;
  1. 重新构建Nginx镜像,或者将配置文件通过挂载的方式传入Nginx容器,重启Nginx容器即可恢复正常访问。
可选排查验证步骤

如果修改后还是报错,可按以下步骤定位问题:

  • 进入Nginx容器执行ping flaskapp,如果能正常ping通说明两个容器网络连通、DNS解析正常
  • 进入uWSGI容器执行ss -tunlp,查看8080端口是否确实被uwsgi进程监听
  • 确认uWSGI使用的是原生uwsgi协议:你当前配置用socket = 0.0.0.0:8080是符合要求的,和Nginx的uwsgi_pass指令匹配,不需要修改为http协议

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:00:02