Nginx配置proxy_pass

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

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

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

二、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,分別針對不用應用,設置不一樣的根資源路徑,並保證代理後的根路徑也依然有效jsp

相關文章
相關標籤/搜索