nginx proxy_pass轉發路徑

當proxy_pass url最後加上了/ 相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走; 如果沒有/,則會把匹配的路徑部分也給代理走.舉例如下:

假設請求url: http://www.test.com/static/js/us.js


location ^~ /static/

{

    proxy_pass http://192.168.1.11:8081/;

}

不帶location中的東西,代理實際URL爲 http://192.168.1.11:8081/js/us.js


location ^~ /static/

{

    proxy_pass http://192.168.1.11:8081;

}

帶location中的東西,代理實際URL爲 http://192.168.1.11:8081/static/js/us.js


#############################################################################################

proxy_pass到域名注意事項

#############################################################################################

如果proxy_pass是直接指向的域名,nginx在啓動的時候會緩存域名解析的IP。此時修改域名解析的IP,那麼nginx默認將不會解析到新IP上除非reload纔會生效。改換成如下配置則更換IP解析後nginx會自動重新查詢域名解析。

resolver 8.8.8.8 8.8.4.4 valid=60s;

set $url "http://abc.test.com";

proxy_pass $url;




參考:http://www.cnblogs.com/kevingrace/p/6566119.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章