/ 中存储网

Nginx服务器配置proxy_pass转发的/路径

2014-03-12 12:48:01 来源:IT技术网
在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。

location ^~ /static_js/

{

proxy_cache js_cache;

proxy_set_header Host www.server110.com;

proxy_pass http://www.server110.com/;

}

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

 会被代理成http://www.server110.com/88181.html

而如果这么配置

location ^~ /static_js/

{

proxy_cache js_cache;

proxy_set_header Host www.server110.com;

proxy_pass http://www.server110.com;

}

则会被代理到http://www.server110.com/static_js/88181.htm

当然,我们可以用如下的rewrite来实现/的功能

location ^~ /static_js/

{

proxy_cache js_cache;

proxy_set_header Host www.server110.com;

rewrite /static_js/(.+)$ /$1 break;

proxy_pass http://www.server110.com;

}