nginx實(shí)現(xiàn)反向代理出現(xiàn)502的問題解決
1. 出現(xiàn)原因
這里我是用的docker容器來進(jìn)行nginx的啟動(dòng)的,在我們用nginx的配置進(jìn)行反向代理的時(shí)候,有時(shí)候訪問反向代理的url會(huì)出現(xiàn)Bad Gateway也就是壞請求,這里無非就是幾種情況:
這里是我的代理代碼:
location /base { proxy_pass http://localhost:8800; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
1.1. 防火墻攔截了端口
我們在宿主機(jī)也就是服務(wù)器里面執(zhí)行我們的資源路徑:
curl http://1.92.141.215:8800/captchaImage
可以看到是能訪問得到的
然后進(jìn)入容器執(zhí)行這行命令: curl http://1.92.141.215:8800/captchaImage命令
docker exec -it nginx bash
我的也是可以訪問的,說明我的端口80和8800都是開放的,如果你的在nginx訪問不到 說明端口沒有開放,可以關(guān)閉防火墻或者開放安全組的端口
1.1.1. 使用 iptables
假設(shè)您要開放 TCP 端口 80
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables-save
1.1.2. 使用 firewall-cmd(適用于 CentOS/RHEL 7+)
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --reload
通過這樣你就可以正常訪問到代理的資源路徑了
1.2. docker容器中的ip和宿主機(jī)ip不一致
因?yàn)樵赿ocker容器里,我們映射了代理到本機(jī)的localhost上面,但是容器的IP和宿主機(jī)的IP是不一樣的,所以無法通過127.0.0.1去進(jìn)行代理,必須把localhost換成服務(wù)器的IP。
location /base { proxy_pass http://1.92.141.215:8800; # 將localhost換成服務(wù)器ip proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
這樣我們通過代理的url去訪問我們的服務(wù)器資源就可以成功訪問了。
到此這篇關(guān)于nginx實(shí)現(xiàn)反向代理出現(xiàn)502的問題解決的文章就介紹到這了,更多相關(guān)nginx反向代理502內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
windows系統(tǒng)下安裝Nginx及簡單使用過程
Nginx是一個(gè)很強(qiáng)大的高性能Web和反向代理服務(wù),也是一種輕量級的Web服務(wù)器,可以作為獨(dú)立的服務(wù)器部署網(wǎng)站,應(yīng)用非常廣泛,特別是現(xiàn)在前后端分離的情況下,這篇文章主要介紹了windows系統(tǒng)下安裝Nginx以及簡單使用,需要的朋友可以參考下2024-04-04Ubuntu?22.04.1?LTS?編譯安裝?nginx-1.22.1的配置過程
Ubuntu安裝Nginx有兩種方式,一種是通過命令的方式,這種方式安裝的Nginx版本低,之前漏掃掃出來Nginx版本低,需要升級所以現(xiàn)在用編譯的方式安裝版本高點(diǎn)的,本文介紹Ubuntu22.04.1?LTS編譯安裝nginx1.22.1的配置過程,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-01-01nginx配置PC站手機(jī)站分離實(shí)現(xiàn)重定向
這篇文章主要介紹了nginx配置PC站手機(jī)站分離實(shí)現(xiàn)重定向,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03前端將項(xiàng)目部署到服務(wù)器(Nginx)的完整步驟
最近寫了一個(gè)項(xiàng)目,需要進(jìn)行手機(jī)上測試,下面就需要前端自己將項(xiàng)目進(jìn)行部署,這篇文章主要給大家介紹了關(guān)于前端將項(xiàng)目部署到服務(wù)器(Nginx)的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01