Nginx Proxy Manager后配置Traefik子域名反向代理遇网关超时排查
排查网关超时问题的核心步骤
1. 核对Docker网络一致性
- 确认Traefik容器与whoami容器处于同一Docker网络,Traefik的自动服务发现依赖同网络访问。
- 检查Traefik启动参数中的
--providers.docker.network,是否指定了目标服务所在的网络名称(如自定义的traefik-net)。
2. 验证whoami的Traefik标签配置
确保whoami容器的Docker标签包含完整路由规则,示例如下:
- traefik.enable=true - traefik.http.routers.whoami.rule=Host(`whoami.your-domain.de`) - traefik.http.services.whoami.loadbalancer.server.port=80
若使用泛域名,规则需调整为HostRegexp({subdomain:[a-z]+}.your-domain.de),确保与访问域名匹配。
3. 检查NPM与Traefik的端口/转发匹配
- 确认Nginx Proxy Manager(NPM)的转发目标端口,与Traefik的监听端口完全一致:若Traefik用8080作为HTTP入口,NPM转发地址需设为
http://traefik-internal-ip:8080;若涉及HTTPS,需明确是NPM处理SSL后转HTTP到Traefik,还是直接透传SSL流量。 - 开启NPM转发设置中的Websockets支持与*X-Forwarded-头传递,这些头部是Traefik识别客户端信息的必要条件。
4. 启用Traefik调试日志排查请求链路
- 在Traefik启动参数中添加
--log.level=DEBUG,重启后查看日志,确认:- Traefik是否接收到NPM转发的请求
- 是否成功识别whoami服务的路由规则
- 若已开启Traefik Dashboard,访问
http://traefik-ip:8080/dashboard/,检查whoami的路由、服务条目是否存在且状态正常。
5. 确认防火墙/安全组规则
- 检查Traefik所在服务器的防火墙,是否允许NPM服务器的IP访问Traefik监听端口(如8080、443)。
- 云服务器需额外检查安全组,确保相关端口对NPM的公网IP开放。
内容的提问来源于stack exchange,提问作者Moritz Vogt
相关产品推荐
相关产品推荐

