1. 程式人生 > >nginx反向代理後,jsp頁面request.getServerPort()獲取得埠號總是80解決方案

nginx反向代理後,jsp頁面request.getServerPort()獲取得埠號總是80解決方案

而通過nginx反向代理去訪問,瀏覽中檢視頁面原始碼,獲取得埠號總是80,如圖,該怎麼解決?

分析原因及解決方案:

nginx預設反向的埠為80,因此存在被代理後的埠為80的問題,這就導致訪問出錯。主要原因在Nginx的配置檔案的host配置時沒有設定響應的埠。

比如,nginx監聽的埠為9080,而

 Host 配置的只有 host, 沒有對應的 port,這就導致在被代理的地方取得錯誤的埠。雖然監聽的埠為9080,但取得的port為80。

於是,修改nginx的配置檔案,將Host後面的改為 $host:$server_port即可,配置檔案如下: