Nginx - 记一次Nginx端口转发失败案例
生活随笔
收集整理的這篇文章主要介紹了
Nginx - 记一次Nginx端口转发失败案例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 項目場景:
- 問題描述:
- 原因分析:
- 解決方案:
項目場景:
測試環(huán)境沒有F5 ,直接配置的是Nginx的地址,且Nginx監(jiān)聽的默認端口80 。 但生產(chǎn)環(huán)境F5后面配置了4個Nginx , F5端口開放了 8585端口 ,用于將Http請求轉(zhuǎn)發(fā)到Nginx上 .
問題描述:
使用了測試環(huán)境的Nginx的配置文件,結(jié)果通過F5的ip+port(8585)訪問應(yīng)用時,好多ajax請求錯誤
原因分析:
經(jīng)排查端口都轉(zhuǎn)發(fā)到了80上,可以推斷是F5到Nginx這一層 是沒有問題的,直接通過Nginx訪問應(yīng)用,好多應(yīng)用也是跳轉(zhuǎn)到了80上,因此懷疑是Nginx的配置不正確導(dǎo)致的。
解決方案:
如果使用的不是Nginx默認的80端口,比如我這里的8585 ,轉(zhuǎn)發(fā)請求時有可能會丟失端口號,這里只要在$host后面加上:$server_port;即可
在HTTP請求的server節(jié)點中
將
proxy_set_header Host $host調(diào)整為
proxy_set_header Host $host:$server_port;reload 或者重啟 nginx ,問題解決。
總結(jié)
以上是生活随笔為你收集整理的Nginx - 记一次Nginx端口转发失败案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++练习11: 栈 和队列
- 下一篇: Nginx —— 检查配置文件ngi