Debug-014-nginx代理路径的一条规则

直接上图:

今天看禹神的前端视频,讲到在nginx中代理路径的时候,有一个规则:
如果/dev和下面的proxy_pass路径最后都带‘/’,那么就是匹配到dev之后要删除dev,然后再带着后面的路径;如果/dev和下面的proxy_pass路径最后都不带‘/’,那么就是匹配到dev之后不会删除dev字段。因为我们项目也需要走nginx配置,就比较感兴趣

而我也看到有一篇文章才知道准确来讲应该这么总结:

如果proxy_pass 端口port后有斜杠/,proxy_pass不拼接location的路径
如果proxy_pass 端口port后无斜杠/,proxy_pass会拼接location的路径

避免以后忘记还是给出一些例子吧,可以加深印象:

//比如原路径是:  proxy/device/abc/query


//(1)会被代理到: http://127.0.0.1:81/device/abc/query
location /proxy/ {
     proxy_pass http://127.0.0.1:81/;        (端口后有路径/)
}


//(2)会被代理到: http://127.0.0.1:81/proxy/device/abc/query
location /proxy/ {
     proxy_pass http://127.0.0.1:81;         (端口后无路径)
}


//(3)会被代理到: http://127.0.0.1:81/qwer/device/abc/query
location /proxy/ {
     proxy_pass http://127.0.0.1:81/qwer/;    (端口后有路径/qwer/)
}


//(4)会被代理到: http://127.0.0.1:81/qwerdevice/abc/query
location /proxy/ {
     proxy_pass http://127.0.0.1:81/qwer;     (proxy_pass 后虽然没有/,但是有path,也就是端口后有路径/qwer)
}


//所以proxy_pass 后面的url + port后面什么也没有的时候才会带上location后面的路径
// 否则url + port后面有路径就不会带上location后面的路径


补充:一般来讲proxy_pass 后面的URL应该是只写到端口,后面不再跟路径了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小白-RMS

谢谢老板

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值