nginx location 的匹配末尾是否配置 /
和 proxy_pass 末尾是否配置 /
,对实际请求路劲的影响
序号 | 访问URL | localtion配置 | proxy_pass配置 | 后端接收的请求 |
---|---|---|---|---|
1 | xxx.com/user/test.html |
/user/ | http://test1/ | /test.html |
2 | xxx.com/user/test.html |
/user/ | http://test1 | /user/test.html |
3 | xxx.com/user/test.html |
/user | http://test1 | /user/test.html |
4 | xxx.com/user/test.html |
/user | http://test1/ | //test.html |
5 | xxx.com/user/test.html |
/user/ | http://test1/haha/ | /haha/test.html |
6 | xxx.com/user/test.html |
/user/ | http://test1/haha | /hahatest.html |
- 当在
upstram_name
后面有/
,相当于是绝对根路径,则nginx
不会把location
中匹配的路径部分代理走; - 当在
upstram_name
后面没有/
,则会把匹配的路径部分也给代理走。