模糊匹配
没有 / 时,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/;
本文探讨了Nginx中模糊匹配与精确匹配的工作原理,特别是location指令如何影响URL的代理行为。通过实例展示了不同配置下代理路径的变化,帮助读者理解如何正确设置proxy_pass以实现预期的代理目标。
6584

被折叠的 条评论
为什么被折叠?



