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

Nginx反向代理Docker内Fastify服务报111连接拒绝、502错误求助

问题排查步骤

  • 优先排查Fastify监听地址配置
    Fastify 默认仅监听127.0.0.1本地环路地址,容器内该地址无法被同网络的其他容器访问,需要修改启动代码明确指定监听0.0.0.0:
    // 错误写法(仅本地可访问)
    fastify.listen({ port: 3005 })
    // 或者
    fastify.listen(3005, '127.0.0.1')
    
    // 正确写法(允许所有地址访问)
    fastify.listen({ port: 3005, host: '0.0.0.0' })
    // 旧版本写法
    fastify.listen(3005, '0.0.0.0')
    
  • 验证Node服务本身运行状态
    1. 执行docker ps查看md_license_server容器状态是否为Up,无异常重启
    2. 查看服务日志确认无启动报错:docker logs md_license_server
    3. 在宿主机直接访问3005端口测试:curl http://localhost:3005/测试接口路径,如果宿主机都无法返回正确结果,优先修复Node服务问题
  • 验证Docker容器网络连通性
    进入Nginx容器测试到Node服务的网络连通性:
    # 进入Nginx容器
    docker exec -it nginx bash
    # 安装curl工具
    apt update && apt install -y curl
    # 测试访问Node服务
    curl http://md_license_server:3005/测试接口路径
    
    如果该步骤无法正常返回结果,说明两个容器之间网络不通,可检查docker-compose是否未将两个服务加入同一网络(默认同compose下的服务会自动加入同一网桥,如有自定义网络配置需确认配置正确性)
  • 校验Nginx配置正确性
    执行以下命令校验Nginx配置是否合法、是否成功加载:
    docker exec -it nginx nginx -t
    
    正常返回test is successful说明配置语法无问题,执行重载配置命令生效:
    docker exec -it nginx nginx -s reload
    
    如果确认配置没问题仍报错,可尝试重启Nginx容器,避免Node服务启动晚于Nginx导致的解析失败:
    docker restart nginx
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:36:01