nginx中localion后面‘/’的截取规则分为两类,为proxy_pass的ip:port后面是否还有目录。
类型一:proxy_pass代理地址端口后无任何目录
location /test1/ {
proxy_pass http://127.0.0.1:8080;
}
#或者
location /test1 {
proxy_pass http://127.0.0.1:8080;
}
#请求为www.6haojie.com/test1/test11匹配到上面两条规则后,均会转发到http://127.0.0.1:8080/test1/test11
类型二:proxy_pass代理地址端口后有目录
#1.proxy_pass变化最后加/
location /test1/ {
proxy_pass http://127.0.0.1:8080/;
}
#请求为www.6haojie.com/test1/test11 转发到 http://127.0.0.1:8080/test11
location /test1/ {
proxy_pass http://127.0.0.1:8080/test2/;
}
#请求为www.6haojie.com/test1/test11 转发到 http://127.0.0.1:8080/test2/test11
#2.proxy_pass变化最后无/
location /test1/ {
proxy_pass http://127.0.0.1:8080/test2;
}
#请求为www.6haojie.com/test1/test11 转发到 http://127.0.0.1:8080/test2test11(按照location截取了/test1/)
#或者
location /test1 {
proxy_pass http://127.0.0.1:8080/test2;
}
#请求为www.6haojie.com/test1/test11 转发到 http://127.0.0.1:8080/test2/test11
总结
1.proxy_pass代理地址端口后无任何信息,转发后地址:代理地址+访问URL目录部分。
2.proxy_pass代理地址端口后有/或者目录,转发后地址:代理地址+访问URL目录部分去调location匹配信息。