如何通过主机Nginx无需指定端口访问Docker容器?
Nginx反向代理配置问题排查
报错截图

问题描述
已配置Nginx反向代理,尝试通过80端口访问后端容器,但目前仅能通过http://ipaddress:8888直接访问,重启Nginx后问题依旧。
当前nginx.conf配置
server { listen 80; listen [::]:80; server_name _; #root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_pass http://18.215.189.243:8888/; } error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
排查步骤
- 检查Nginx监听状态:执行
netstat -tulpn | grep nginx或ss -tulpn | grep nginx,确认Nginx是否在80端口正常监听。 - 验证防火墙/安全组规则:确保服务器80端口已对外开放,无拦截规则。
- 检查配置语法:执行
nginx -t验证配置文件是否存在语法错误,根据提示修正。 - 测试后端连通性:在Nginx所在服务器执行
curl http://18.215.189.243:8888,确认后端服务可正常访问。 - 查看错误日志:查看
/var/log/nginx/error.log中的报错信息,定位具体问题。 - 检查端口占用:执行
lsof -i :80查看是否有其他服务占用80端口,停止占用服务后重启Nginx。
内容的提问来源于stack exchange,提问作者Hassan Tariq
相关产品推荐
相关产品推荐

