Nginx配置proxy_pass转发的/路径问题

 黑渐神|he-jason.com   2019-03-11 12:34   10 人阅读  Nginx配置proxy_pass转发的/路径问题已关闭评论

Nginx配置proxy_pass转发的/路径问题

在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。

location ^~ /static_js/ 
{ 
proxy_set_header Host www.he-jason.com; 
proxy_pass http://www.he-jason.com/; 
}

如上面的配置,如果请求的url是http://servername/static_js/test.html
会被代理成http://www.he-jason.com/test.html

而如果这么配置

location ^~ /static_js/ 
{ 
proxy_set_header Host www.he-jason.com; 
proxy_pass http://www.he-jason.com; 
}

则会被代理到http://www.he-jason.com/static_js/test.htm

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

location ^~ /static_js/ 
{ 
proxy_set_header Host www.he-jason.com; 
rewrite /static_js/(.+)/1 break; 
proxy_pass http://www.he-jason.com; 
} 
本文地址:https://www.he-jason.com/linuxbasic/web_service/nginx/798.html
版权声明:本文为原创文章,版权归 黑渐神|he-jason.com 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了
双11拉新分百万红包

评论已关闭!