卸载Apache2改用Nginx后代理502与端口访问超时问题求助
问题排查步骤
一、IP:88访问超时问题排查
- 检查防火墙/安全组规则:执行
ufw status(Debian/Ubuntu)或者firewall-cmd --list-all(CentOS/RHEL)确认88、808、888端口是否对外开放;如果是云服务器还需额外检查云平台控制台的安全组规则,确认对应端口已放行。netstat仅能确认Nginx已监听端口,防火墙拦截会直接导致外部访问超时。 - 本机自测连通性:在服务器本地执行
curl http://127.0.0.1:88,如果能正常返回内容说明Nginx配置无问题,故障点在外部网络/防火墙拦截;如果本地也无法访问,先执行nginx -t检查配置语法是否正确,再执行tail -f /var/log/nginx/error.log查看Nginx错误日志定位具体问题。 - 确认配置已加载:执行
nginx -T(大写T)输出Nginx加载的所有配置,确认88端口的server块确实被正常读取生效。
二、代理转发502 Bad Gateway问题排查
- 自测上游服务可用性:
- 本地执行
curl http://127.0.0.1:888和curl http://127.0.0.1:808,确认两个本地服务本身可正常响应,服务未启动、端口监听地址错误都会直接返回502 - 本地执行
curl http://192.168.1.17,确认局域网跨主机的服务可达,检查目标主机的局域网防火墙是否放行对应端口、IP地址是否正确、目标服务是否正常运行
- 本地执行
- 检查SELinux限制(针对CentOS/RHEL系统):执行
sestatus查看SELinux运行状态,如果为Enforcing模式,默认会阻止Nginx发起网络连接,执行setsebool -P httpd_can_network_connect 1开启Nginx网络访问权限即可解决。 - 核对代理配置细节:确认
192.168.1.17的服务确实监听80端口,否则需要在proxy_pass后补全对应端口,格式为http://192.168.1.17:目标端口。 - 查看错误日志定位:执行
tail -f /var/log/nginx/error.log,502错误会明确记录是连接上游超时、连接被拒绝还是权限不足,可根据日志提示针对性调整。
内容的提问来源于stack exchange,提问作者lou habert
相关产品推荐
相关产品推荐

