1. 程式人生 > >nginx 轉發配置

nginx 轉發配置

nginx 轉發配置

Nginx配置proxy_pass轉發的/路徑問題

在nginx中配置proxy_pass時,如果是按照^~匹配路徑時,要註意proxy_pass後的url最後的/,當加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配的路徑部分也給代理走。

location ^~ /static_js/
{
proxy_cache js_cache;
proxy_set_header Host js.test.com;
proxy_pass
http://js.test.com/;
}

如上面的配置,如果請求的url是http://servername/static_js/test.html


會被代理成http://js.test.com/test.html

而如果這麽配置

location ^~ /static_js/
{
proxy_cache js_cache;
proxy_set_header Host js.test.com;
proxy_pass
http://js.test.com;
}

則會被代理到http://js.test.com/static_js/test.htm

當然,我們可以用如下的rewrite來實現/的功能

location ^~ /static_js/
{
proxy_cache js_cache;
proxy_set_header Host js.test.com;
rewrite /static_js/(.+)$ /$1 break;

proxy_pass http://js.test.com;
}


本文出自 “風之痕_雪虎” 博客,請務必保留此出處http://snowtiger.blog.51cto.com/12931578/1952319

nginx 轉發配置