nginx配置proxy_pass中url末尾带/与不带/的区别详解

2025-05-26 0 46

nginx配置proxy_pass时url末尾带“/”与不带“/”的区别如下:

注意:当location为正则表达式匹配模式时,proxy_pass中的url末尾是不允许有"/"的,因此正则表达式匹配模式不在讨论范围内。

proxy_pass配置中url末尾带/时,nginx转发时,会将原uri去除location匹配表达式后的内容拼接在proxy_pass中url之后。

测试地址:http://192.168.171.129/test/tes.jsp

场景一:

?

1

2

3
location ^~ /test/ {

proxy_pass http://192.168.171.129:8080/server/;

}

代理后实际访问地址:http://192.168.171.129:8080/server/tes.jsp

场景二:

?

1

2

3
location ^~ /test {

proxy_pass http://192.168.171.129:8080/server/;

}

代理后实际访问地址:http://192.168.171.129:8080/server//tes.jsp

场景三:

?

1

2

3
location ^~ /test/ {

proxy_pass http://192.168.171.129:8080/;

}

代理后实际访问地址:http://192.168.171.129:8080/tes.jsp

场景四:

?

1

2

3
location ^~ /test {

proxy_pass http://192.168.171.129:8080/;

}

代理后实际访问地址:http://192.168.171.129:8080//tes.jsp

proxy_pass配置中url末尾不带/时,如url中不包含path,则直接将原uri拼接在proxy_pass中url之后;如url中包含path,则将原uri去除location匹配表达式后的内容拼接在proxy_pass中的url之后。

测试地址:http://192.168.171.129/test/tes.jsp

场景一:

?

1

2

3
location ^~ /test/{

proxy_pass http://192.168.171.129:8080/server;

}

代理后实际访问地址:http://192.168.171.129:8080/servertes.jsp

场景二:

?

1

2

3
location ^~ /test {

proxy_pass http://192.168.171.129:8080/server;

}

代理后实际访问地址:http://192.168.171.129:8080/server/tes.jsp

场景三:

?

1

2

3
location ^~ /test/ {

proxy_pass http://192.168.171.129:8080;

}

代理后实际访问地址:http://192.168.171.129:8080/test/tes.jsp

场景四:

?

1

2

3
location ^~ /test {

proxy_pass http://192.168.171.129:8080;

}

代理后实际访问地址:http://192.168.171.129:8080/test/tes.jsp

到此这篇关于nginx配置proxy_pass中url末尾带/与不带/的区别详解的文章就介绍到这了,更多相关nginx proxy_pass url末尾内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://blog.csdn.net/zhanghui200920061988/article/details/105132167

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 nginx配置proxy_pass中url末尾带/与不带/的区别详解 https://www.kuaiidc.com/52904.html

相关文章

发表评论
暂无评论