nginx学习--2023-12-18

发布时间:2023年12月18日

一 proxy_pass的作用
格式很简单: proxy_pass URL;

proxy_pass http://www.xxx.com/;
proxy_pass http://192.168.200.101:8080/uri;
proxy_pass unix:/tmp/www.sock;
二 proxy_pass的注意案例
案例描述:

假设 nginx服务器的域名为:www.xxx.com

后端服务器为:192.168.1.10

当请求http://www.xxx.com/aming/a.html的时候,以上示例分别访问的结果是

2.1 ?不以("/")结尾
访问:http://www.xxx.com/aming/a.html

location /aming/
{
? ? proxy_pass http://192.168.1.10;
? ? ...
}
=======》被代理的完整地址为: http://192.168.1.10/aming/a.html
总结:如果没有/,则会把匹配的路径部分(location后面/aming/)也给代理走

2.2 ?以("/")结尾
访问:http://www.xxx.com/aming/a.html

location /aming/
{
? ? proxy_pass http://192.168.1.10/;
? ? ...
}
=======》被代理的完整地址为: http://192.168.1.10/a.html
总结:当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走。

2.3 ?以("xxx/")结尾
访问:http://www.xxx.com/aming/a.html

location /aming/
{
? ? proxy_pass http://192.168.1.10/linux/;
? ? ...
}
=======》被代理的完整地址为: http://192.168.1.10/linux/a.html
总结:当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走。

2.4 ?以("xxx")结尾
访问:http://www.xxx.com/aming/a.html

location /aming/
{
? ? proxy_pass http://192.168.1.10/linux;
? ? ...
}
=======》被代理的完整地址为: http://192.168.1.10/linuxa.html
总结:这种情况比较危险,一定要避免

2.5 总结
为了方便记忆和规范配置,建议所有的 proxy_pass 后的url都以“/”结尾1111111。

文章来源:https://blog.csdn.net/qq853447917/article/details/135070412
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。