nginx做反向代理時出現302錯誤


現象:nginx在使用非80端口做反向代理時,瀏覽器訪問發現返回302錯誤

詳細現象如下:

瀏覽器請求登錄頁:

 

 輸入賬號密碼點擊登錄:

 

 

很明顯登錄后跳轉的地址少了端口號。

 

原因:proxy.conf文件中定義的proxy_set_header Host $host;

意思是nginx接收到瀏覽器請求后修改請求頭中的host信息,然后再把請求轉發給后端真實服務節點,服務節點響應后把返回信息傳送給nginx,而由於nginx是使用的非80端口做代理,后端服務節點卻依然以為nginx是80端口,所以響應信息沒有正確的返回給nginx的非80端口

解決:修改為proxy_set_header Host $host:$server_port;即可。

這樣就把請求頭中的host修改為nginx的非80端口了,后端服務節點就知道響應應該返回的正確nginx代理端口

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM