前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx反向代理proxy_pass路径问题

nginx反向代理proxy_pass路径问题

原创
作者头像
西门呀在吹雪
发布2022-10-14 09:10:11
1.4K0
发布2022-10-14 09:10:11
举报
文章被收录于专栏:架构之巅

1.nginx的proxy_pass配置路径,加与不加“/”差异巨大

1.1 等价写法

代码语言:javascript
复制
location /proxy {
    proxy_pass http://192.168.137.181:8080;
}

当访问 http://127.0.0.1/proxy/test/test.txt时,nginx匹配到/proxy路径,把请求转发给192.168.137.181:8080服务,实际请求路径为http://10.0.0.1:8080/test/test.txt,nginx会去掉匹配的“/proxy”。

代码语言:javascript
复制
#等价于

location /proxy {
    proxy_pass http://192.168.137.181:8080/proxy/;
}

#或者等价于1.3

1.2 相对路径

代码语言:javascript
复制
location /proxy {
    proxy_pass http://10.0.0.1:8080;
}

当访问 http://127.0.0.1/proxy/test/test.txt时,nginx匹配到/proxy路径,把请求转发给192.168.137.181:8080服务,实际请求代理服务器的路径为http://192.168.137.181:8080/proxy/test/test.txt, 此时nginx会把匹配的“/proxy”也代理给代理服务器。

1.3代理路径添加uri(1.1的变种写法)

代码语言:javascript
复制
location /proxy {
    proxy_pass http://10.0.0.1:8080/static01/;
}

当访问 http://127.0.0.1/proxy/test/test.txt时,nginx匹配到/proxy路径,把请求转发给192.168.137.181:8080服务,实际请求代理服务器的路径为http://10.0.0.1:8080/static01/test/test.txt。

总结:proxy_pass末尾加 /,代理的时候不会把location匹配的地址带上,如果末尾不加 / 则会加上location匹配的地址

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档