总结:
- 如果proxy_pass末尾有斜杠/,proxy_pass不拼接location的路径
- 如果proxy_pass末尾无斜杠/,proxy_pass会拼接location的路径
一、proxy_pass末尾有斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000/;
}
请求地址:http://localhost/api/test
转发地址:http://127.0.0.1:8000/test
二、proxy_pass末尾无斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000;
}
请求地址:http://localhost/api/test
转发地址:http://127.0.0.1:8000/api/test
三、proxy_pass包含路径,且末尾有斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000/user/;
}
请求地址:http://localhost/api/test
转发地址:http://127.0.0.1:8000/user/test
四、proxy_pass包含路径,末尾无斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000/user;
}
请求地址:http://localhost/api/test
转发地址:http://127.0.0.1:8000/usertest
本文详细解释了proxy_pass配置中路径处理的不同情况:末尾斜杠的影响,以及如何根据配置自动调整转发地址。通过实例展示,理解proxy_pass的拼接规则对于HTTP代理转发至关重要。
1410





