Nginx之proxy_pass指令url反斜杠作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx之proxy_pass指令url反斜杠作用相关的知识,希望对你有一定的参考价值。

nginx中配置proxy_pass代理转发时,其后面的url中反斜杠/ 的匹配处理时常出现意想不到的问题发生,以下说明两种情况:
(1)如果在proxy_pass后面的url加/,表示绝对根路径;
(2)如果在proxy_pass后面的url没有/,表示相对路径,把匹配的路径部分也给代理走。

下面四种情况分别用 http://127.0.0.1/proxy/test.html 进行访问测试

第一种情况:

location /proxy/ {
        proxy_pass http://127.0.0.1/;
}

最终会被代理到URL:http://127.0.0.1/test.html

第二种情况(相对于第一种,最后少一个 / ):

location /proxy/ {    
    proxy_pass http://127.0.0.1;    
}

最终会被代理到URL:http://127.0.0.1/proxy/test.html

第三种情况:

location /proxy/ {    
    proxy_pass http://127.0.0.1/aaa/;    
}

最终会被代理到URL:http://127.0.0.1/aaa/test.html

第四种情况(相对于第三种,最后少一个 / ):

location /proxy/ {    
    proxy_pass http://127.0.0.1/aaa;    
}

最终会被代理到URL:http://127.0.0.1/aaatest.html

以上是关于Nginx之proxy_pass指令url反斜杠作用的主要内容,如果未能解决你的问题,请参考以下文章

URL最后结尾反斜杠(/)加与不加区别

Nginx学习-实例:location+proxy_pass配置中左斜杠彻底弄清

Nginx中proxy_pass的斜杠(/)问题

nginx中配置proxy_pass详解,末尾带不带斜杠/的区别

nginx 之 proxy_pass详解

nginx 之proxy_pass