問題
訪問nginx 502 Bad Gateway
connect() failed (111: Connection refused)while connecting to upstream
可能的原因1 docker網絡問題
docker nginx容器使用的bridge(默認),同時被轉發的服務和nginx在同一機器,但不在同一容器, 且 nginx.conf proxy_pass
是localhost/127.0.0.1
解決辦法1
proxy_pass
使用內網(172/10等開頭)/公網地址。 ip addr
查看機器的地址
解決辦法2
啟動nginx容器的時候使用 --net=host
指定和宿主機一樣的網絡
docker run --name some-nginx --net=host -v /home/docker/nginx:/etc/nginx -v /home/docker/nginx/logs:/opt/app/logs -d nginx
可能的問題2 服務是否已啟動
確保服務正常啟動. docker ps
查看服務是否存在;
確保proxy_pass 的端口和被轉發的服務端口一致,使用 telnet ip port
測試
有用請點一下左下角 好文要頂
可能的問題3 端口是否開放
雲服務器,如果代理地址不是本機ip,請在對應的安全策略中開放 對應的 端口