模糊匹配
没有 /
时,location /upload/pdf
可以匹配 /upload/pdf
请求,也可以匹配 /upload/pdf/xxx
等
而有 /
时,location /upload/pdf/
不能
匹配 /upload/pdf
请求,只能匹配/upload/pdf/xxx
这样的请求
1. location 后有 /
我们的需要代理的URL为
http://127.0.0.1/upload/pdf/m.pdf
第一种,proxy_pass后带 /
listen 80;
location /upload/ {
#则会代理到 http://127.0.0.1:8080/m.pdf这个url
proxy_pass http://127.0.0.1:8080/;
}
第二种,proxy_pass 后不带 /
listen 80;
location /upload/ {
#则会代理到 http://127.0.0.1:8080/upload/pdf/m.pdf这个url
proxy_pass http://127.0.0.1:8080;
第三种,配置一个前缀,带 /
listen 80;
location /upload/ {
#则会代理到 http://127.0.0.1:8080/static/m.pdf这个url
proxy_pass http://127.0.0.1:8080/static/;
第四种,配置一个前缀,不带/
listen 80;
location /upload/ {
#则会代理到 http://127.0.0.1:8080/staticpdf/m.pdf这个url
proxy_pass http://127.0.0.1:8080/static;
2. location 后没有 /
我们的需要代理的URL为
http://127.0.0.1/upload/pdf/m.pdf
第一种,proxy_pass后没有 /
listen 80;
location /upload {
#则会代理到 http://127.0.0.1:8080/pdf/m.pdf这个url
proxy_pass http://127.0.0.1:8080;
第二种,proxy_pass 后有 /
listen 80;
location /upload {
#则会代理到 http://127.0.0.1:8080/m.pdf这个url
proxy_pass http://127.0.0.1:8080/;