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

Nerdctl环境下Nginx Proxy Manager目标可达却返回502错误

Nginx Proxy Manager 解析容器主机失败的排查方案

1. 核对容器名称与代理配置的主机名

日志明确显示hello could not be resolved,先做两件事:

  • 打开/data/nginx/proxy_host/2.conf,确认代理目标的主机名是hello
  • 执行docker ps查看helloworld-http容器的实际名称,确认它确实叫hello。很多时候容器名是helloworld-http或随机生成的,你在代理容器里能访问hello可能是手动加了hosts或临时用了IP,但Nginx配置里的主机名和实际容器名不匹配。

2. 测试Nginx容器内的DNS解析能力

进入Nginx Proxy Manager容器,直接测试hello的解析:

docker exec -it <nginx-proxy-manager容器ID/名称> sh
nslookup hello

如果解析失败,说明Nginx进程的DNS配置有问题,重启容器让它重新加载网络DNS:

docker restart <nginx-proxy-manager容器ID/名称>

3. 确认桥接网络的DNS别名规则

Docker桥接网络里,容器的DNS别名默认是容器名称,或docker-compose里的服务名:

  • 如果是单独启动的容器,必须用docker run --name hello ...指定名称
  • 如果是docker-compose部署,要确保服务名是hello

临时可以把代理配置里的主机名换成helloworld-http容器的IP(用docker inspect <容器ID> | grep IPAddress获取),如果能正常访问,就确定是DNS解析的问题。

4. 强制重载Nginx配置

有时候修改代理配置后,Nginx Proxy Manager没自动重载配置,手动触发:

docker exec -it <nginx-proxy-manager容器ID/名称> nginx -s reload

5. 检查容器间通信策略

确认桥接网络允许容器间通信:

docker inspect <你的桥接网络名称> | grep enable_icc

如果输出是"enable_icc": false,修改网络配置:

docker network update --icc=true <你的桥接网络名称>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:33:31