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

访问Docker部署的Nginx容器时出现net::ERR_CONNECTION_REFUSED错误求助

问题排查步骤

1. 检查Nginx配置加载有效性

你的docker-compose.yml将本地./nginx目录挂载到Nginx容器的/etc/nginx/user_conf.d,但官方Nginx镜像默认配置不会自动加载该目录下的文件。需验证配置是否被加载:

  • 进入Nginx容器:docker exec -it nginx bash
  • 查看主配置文件:cat /etc/nginx/nginx.conf
  • 确认是否存在include /etc/nginx/user_conf.d/*.conf;语句,若没有,需添加该配置,或直接将自定义nginx.conf挂载到/etc/nginx/conf.d/目录(官方镜像默认加载此目录下的.conf文件)。

2. 修复证书文件挂载问题

你的Nginx配置引用了/etc/letsencrypt/路径下的证书,但docker-compose.yml中注释了该目录的挂载,导致容器内无证书文件,会直接导致SSL服务启动失败:

  • 取消docker-compose.yml中以下行的注释:
    #   - /etc/letsencrypt/:/etc/letsencrypt
    
  • 重启Nginx容器:docker-compose restart nginx
  • 查看Nginx日志排查证书错误:docker logs nginx

3. 检查GCE防火墙规则

GCE默认防火墙未开放443端口,外部访问会被直接拦截:

  • 登录GCP控制台,进入对应实例的防火墙设置页面
  • 确认是否存在允许tcp:443的入站规则,若无则添加一条允许指定IP或所有IP访问443端口的规则。

4. 验证容器间网络连通性

确认Nginx容器能否正常访问web容器:

  • 进入Nginx容器:docker exec -it nginx bash
  • 执行curl http://web:8001,若无法访问,检查docker-compose网络配置(默认桥接网络应支持容器互通,自定义网络需确认配置正确性)。

5. 确认域名解析准确性

检查你的服务器URL是否正确指向GCE实例的公网IP:

  • 在本地终端执行nslookup <你的服务器URL>,确认返回IP与实例公网IP一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:55:01