使用Nginx Docker反向代理时出现Connection refused连接被拒如何解决
Nginx反向代理连接被拒问题排查方案
1. 修复配置冲突警告
日志中出现conflicting server name "" on 0.0.0.0:443, ignored警告,是因为存在两个监听443端口的server块,其中一个未配置server_name:
- 遍历
/etc/nginx/sites-enabled/下所有配置文件,以及/etc/nginx/nginx.conf的http配置段,删除重复的无server_name的443监听块 - 修改完成后执行
nginx -t校验配置是否合法,校验通过后执行nginx -s reload重载Nginx配置
2. 定位Connection refused报错原因
2.1 核查Docker端口映射
执行docker ps查看Nginx容器的端口映射规则,确认存在0.0.0.0:443->443/tcp的映射关系,若未映射,重启容器时添加-p 443:443参数。
2.2 核查云服务器端口放行规则
- 登录Azure控制台,检查对应VM的网络安全组入站规则,确认已开放443端口的公网访问权限
- 登录服务器执行
ufw status检查本地防火墙规则,若未放行443端口,执行ufw allow 443/tcp添加放行规则
2.3 核查上游服务可用性
你配置的反向代理上游地址为http://DNSNameofServer:8088,在服务器本地执行curl http://DNSNameofServer:8088确认上游服务可以正常访问,若访问失败优先排查8088端口服务的运行状态。
2.4 核查SSL证书权限
确认Nginx运行用户对证书和私钥文件有读取权限,建议执行以下命令调整权限:
chmod 644 /etc/ssl/certs/ChainedCertName.pem chmod 600 /etc/ssl/certs/KeyFileName.key-plain.key
调整后重启Nginx容器验证是否恢复正常。
内容的提问来源于stack exchange,提问作者techman85
相关产品推荐
相关产品推荐

