Nginx配置proxy_pass带不带/的区别

网友投稿 1541 2022-08-25

Nginx配置proxy_pass带不带/的区别

Nginx配置proxy_pass带不带/的区别

一、如果proxy_pass的目标地址后缀有/,表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址。

示例

uri/url:​​nginx { server 10.10.8.7:8080 max_fails=3 fail_timeout=9s weight=90; server 10.10.8.8:8080 max_fails=3 fail_timeout=9s weight=90; check_"HEAD /status HTTP/1.0\r\n\r\n"; check interval=3000 rise=2 fall=5 timeout=1000 type= check_/map/api/ { proxy_pass proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;}

匹配过程:

(1)location /map/api/匹配了path(/map/api/route/set)的/map/api/部分;

(2)然后path中location匹配的部分会去除,也就是/map/api/route/set会变成route/set

(3)然后去除后的path(route/set),拼接到porxy_pass目标地址后面(mapapp { server 10.10.8.10:8816 max_fails=2 fail_timeout=2s weight=10; #server 10.10.8.11:8816 max_fails=2 fail_timeout=2s weight=10; check interval=3000 rise=2 fall=5 timeout=1000 type= check_"HEAD /status HTTP/1.0\r\n\r\n";}

location /service/route/ { proxy_pass proxy_redirect off; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

匹配过程:

(1)将请求的path(/service/route/set)拼接到目标域名之后作为最终代理的URL,即​​mapapp { server 10.10.8.10:8816 max_fails=2 fail_timeout=2s weight=10; #server 10.10.8.11:8816 max_fails=2 fail_timeout=2s weight=10; check interval=3000 rise=2 fall=5 timeout=1000 type= check_"HEAD /status HTTP/1.0\r\n\r\n";}

location /service/route { proxy_pass proxy_redirect off; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

匹配过程:

(1)proxy_pass目标地址有path

(2)将path中location匹配的部分去除,也就是/service/route/set会变成/set

(3)然后去除后的path(/set),拼接到porxy_pass目标地址后面(http://10.10.8.10:8816/map),就形成了http://10.10.8.10:8816/map/set

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:iOS开发简单的音频播放器(ios音频播放器推荐)
下一篇:Asterisk 1.6.X - MeetMe Realtime
相关文章

 发表评论

暂时没有评论,来抢沙发吧~