Nginx配置proxy_pass末尾有参数与无参数的区别

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“重写访问路径

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容