很多人搞不明白,nginx反向代理配置proxy_pass目标URL路径究竟要不要带斜杠/,阿里云北京授权分销商万维景盛工程师为您分享知识。proxy_pass的目标地址,默认不带/,表示只代理域名(把请求的path拼接到proxy_pass目标域名之后作为代理的URL),这个设计的初衷,是为了实现在配置proxy_pass时,可以实现URL路径的部分替换。
如果在目标地址后增加/,则表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址。
# 比如请求 /a/b.html # http://server/a/b.html (把/a/b.html拼接到http://server之后)location /a { proxy_pass http://server;} # http://server/b.html (把/a/b.html的/a去掉之后,拼接到http://server/之后)location /a { proxy_pass http://server/;}
注意:对于location为正则表达式的匹配,proxy_pass的目标地址不能带/。