Nginx配置proxy_pass


http://dmouse.iteye.com/blog/1880474

nginx配置proxy_pass,需要注意轉發的路徑配置 

1、location /test/ { 
                proxy_pass http://t6:8300; 
     } 

2、location /test/ { 
                proxy_pass http://t6:8300/; 
     } 

上面兩種配置,區別只在於proxy_pass轉發的路徑后是否帶 “/” 

針對情況2,如果訪問url = http://server/test/test.jsp,則被nginx代理后,請求路徑會變為 http://proxy_pass/test.jsp,直接訪問server的根資源 

針對情況1,如果訪問url = http://server/test/test.jsp,則被nginx代理后,請求路徑會便問http://proxy_pass/test/test.jsp,將test/ 作為根路徑,請求test/路徑下的資源 


典型實例: 
同一個域名下,根據根路徑的不同,訪問不同應用及資源 
例如:A應用 http://server/a  ; B應用 http://server/b 

A 應用和 B應用共同使用訪問域名 http://server; 
配置nginx代理轉發時,如果采用情況2的配置方式,則會導致訪問http://server/a/test.jsp時,代理到http://proxy_pass/test.jsp,導致無法訪問到正確的資源,頁面中如果有對根資源的訪問,也都會以http://server 做為根路徑訪問資源,導致資源失效 

針對此類情況,需要采用情況1,分別針對不用應用,設置不同的根資源路徑,並保證代理后的根路徑也依然有效


免責聲明!

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



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