配置location、proxy_pass时,加“/”与不加“/”的区别,今天我们通过实操去验证下。
第一种:location、proxy_pass都不加斜杠
location /v1 {
proxy_pass http://127.0.0.1:8899;
}
实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/page
第二种:location加斜杠,proxy_pass不加斜杠
location /v1/ {
proxy_pass http://127.0.0.1:8899;
}
实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/page
第三种:location不加斜杠,proxy_pass加斜杠
location /v1 {
proxy_pass http://127.0.0.1:8899/;
}
实际访问代理地址:http://127.0.0.1:8899//pt/apply/page
第四种:location、proxy_pass都加斜杠
location /v1/ {
proxy_pass http://127.0.0.1:8899/;
}
实际访问代理地址:http://127.0.0.1:8899/pt/apply/page
第五种:location不加斜杠,proxy_pass加"v2"
location /v1 {
proxy_pass http://127.0.0.1:8899/v2;
}
实际访问代理地址:http://127.0.0.1:8899/v2/pt/apply/page
第五种:location不加斜杠,proxy_pass加"v2"
location /v1 {
proxy_pass http://127.0.0.1:8899/v2;
}
实际访问代理地址:http://127.0.0.1:8899/v2/pt/apply/page
第六种:location加斜杠,proxy_pass加"v2"
location /v1/ {
proxy_pass http://127.0.0.1:8899/v2;
}
实际访问代理地址:http://127.0.0.1:8899/v2pt/apply/page
第七种:location不加斜杠,proxy_pass加"v2/"
location /v1 {
proxy_pass http://127.0.0.1:8899/v2/;
}
实际访问代理地址:http://127.0.0.1:8899/v2//pt/apply/page
第八种:location加斜杠,proxy_pass加"v2/"
location /v1/ {
proxy_pass http://127.0.0.1:8899/v2/;
}
实际访问代理地址:http://127.0.0.1:8899/v2/pt/apply/page
总结:
proxy_pass代理地址端口后无任何字符,转发后地址:代理地址+访问URL目录部分
proxy_pass代理地址端口后有目录(包括 / ),转发后地址:代理地址+访问URL目录部分去除location匹配目录(示例中的"v1"或"v1/")