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;
- }
怎么办。为什么我脑内不来手牵手。。: 讓我想像一下:這兩隻最近這麼高調又膩歪是怎樣不害臊嘛: 男生手牽手 怪不舒服的 有人要心碎了啦:真的是去度蜜月的他們倆