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