首頁 >後端開發 >php教程 >Nginx反向代理關於連接埠的問題

Nginx反向代理關於連接埠的問題

WBOY
WBOY原創
2016-08-08 09:32:351085瀏覽
Nginx預設反向後的連接埠為80,因此存在被代理後的連接埠為80的問題,這就導致存取出錯。主要原因在Nginx的設定檔的host設定時沒有設定回應的連接埠。
相關設定檔如下:
 
proxy_pass http://ime-server/ime-server;
proxy_set_header Hosthosthost; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

如上,Host配置只有host,沒有對應的port,這就導致在被代理的地方取得錯誤的端口。本文以java為例:
 
String scheme = httpRequest.getScheme();
    String serverName = httpRequest.getServerget()Port
    //服務請求位址
    String requestURI = scheme+"://"+serverName+":"+port+"/ime-server/rest/"+serviceName+"/wmts";
    這時,取得的port為80雖然nginx監聽的連接埠為9090。這個錯誤讓我很鬱悶。於是,修改nginx的設定文件,將Host後面的改為$host:$server_port即可,設定檔如下:
 
location /ime-server {🠎      #index index.html index.htm;
            proxy_pass http://ime-server/ime-server;
           proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
  重啟nginx,./nginx -s reload 。然後檢查被代理後的連接埠資訊是否正確
以上就介紹了Nginx反向代理關於連接埠的問題,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn