nginx redirect ignore port 兩層nginx跳轉忽略了端口


問題:

    兩層nginx做代理,第一層:nginx:將9087->代理到80端口,第二層:將80端口->流量打到我們的代碼上,結果在代碼中拿到的鏈接不帶9087端口,則代碼中發生跳轉的時候,會不帶端口,導致跳轉出錯?

原因:

    因為第一層將9087打到80端口上,第二層拿到的請求鏈接的80端口是nginx默認端口,被nginx忽略了,如果不發生跳轉,沒有問題,一般發生跳轉,不論是相對還是絕對路徑,都不會帶9087端口號,這就導致跳轉出錯

 

解決:

    既然已知是被nginx忽略了端口號,那改代碼就無濟於事,那就改nginx配置,讓他過來的時候把端口號帶上,一句簡單的配置即可解決

    proxy_set_header Host $http_host;

 


免責聲明!

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



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