proxy_pass末尾 | 行为描述 |
---|---|
无参数 | 用户的访问路径不变(URL组成:协议、主机、端口、路径) |
有参数 | 会将location匹配到的部分,替换成末尾的参数(" / "也算是参数) |
场景一、
用户访问的地址:https://file.example.com/volume1/5,06bb28cc0d.png
location /volume1 {
proxy_pass http://127.0.0.1:9222;
}
实际访问的地址:http://127.0.0.1:9222/volume1/5,06bb28cc0d.png
,用户的访问路径不变。
场景二、
用户访问的地址:https://file.example.com/volume1/5,06bb28cc0d.png
location /volume1/ {
proxy_pass http://127.0.0.1:9222;
}
实际访问的的地址:http://127.0.0.1:9222/volume1/5,06bb28cc0d.png
,用户的访问路径不变。
场景三、
用户访问的地址:https://file.example.com/volume1/5,06bb28cc0d.png
location /volume1 {
proxy_pass http://127.0.0.1:9222/data;
}
实际访问的地址:http://127.0.0.1:8081/data/5,06bb28cc0d.png
,“/volume1”被参数“/data”替换。
场景四、
用户访问的地址:https://file.example.com/volume1/5,06bb28cc0d.png
location /volume1/ {
proxy_pass http://127.0.0.1:9222/data;
}
实际访问路径:http://127.0.0.1:8081/data5,06bb28cc0d.png
,“/volume1/”被参数“/data”替换。
场景五、
用户访问的地址:https://file.example.com/volume1/5,06bb28cc0d.png
location /volume1 {
proxy_pass http://127.0.0.1:9222/;
}
实际访问的地址:http://127.0.0.1:9222//5,06bb28cc0d.png
,“/volume1”被参数“/”替换。
场景六、
用户访问的地址:https://file.example.com/volume1/5,06bb28cc0d.png
location /volume1/ {
proxy_pass http://127.0.0.1:9222/;
}
实际访问的地址:http://127.0.0.1:9222/5,06bb28cc0d.png
,“/volume1”被参数“/”替换。
其他、
用户访问的地址:https://file.example.com/volume1/5,06bb28cc0d.png
location /volume1 {
rewrite ^/volume1/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:9222;
}
实际访问的地址:http://127.0.0.1:9222/5,06bb28cc0d.png
,使用“rewrite“重写访问路径。