nginx proxy_pass 后面带/和不带 /的区别

 

proxy_pass

1、在nginx中配置proxy_pass时,当在后面的url加上了/,nginx不会把location中匹配到的路径往后转递,而是扔掉;

2、如果没有/,则会把匹配到的路径部分也给往后转递。

举例
使用http://192.168.0.2/proxy/test.html 进行访问

1、端口81后带/
location /proxy/ {
proxy_pass http://127.0.0.1:81/
}
不会代理匹配的路径,即proxy被扔掉,不会往后转递,所以最终会被代理到: http://127.0.0.1:81/test.html

2、端口81后面不带/
location /proxy/ {
proxy_pass http://127.0.0.1:81;
}
会代理匹配的路径,即带上proxy往后转递,所以最终会被代理到: http://127.0.0.1:81/proxy/test.html

 

location

在Nginx中配置代理时

如果后端服务器地址以斜杠(/)结尾,而代理地址又以斜杠开头,则代理路径会自动加上后端服务器地址的路径。

如果后端服务器地址没有以斜杠结尾,则代理路径会使用后端服务器地址,不会加上额外的斜杠。


已有 0 条评论

    欢迎您,新朋友,感谢参与互动!