nginx中proxy_pass各种用法详解

nginx中配置location代理转发规则的时候不同写法对应不同转发规则。本文就介绍几种常见的匹配情况,感兴趣的可以了解一下

代理转发规则

nginx中配置location代理转发规则的时候不同写法对应不同转发规则。

如果proxy_pass使用了URI,当传送请求到后端服务器时,规范化以后的请求路径与配置中的路径的匹配部分将被替换为指令中定义的URI(对应下文第一种情况)。

如果proxy_pass没有使用URI,传送到后端服务器的请求URI一般客户端发起的原始URI(下文第二种情况)。

访问地址:http://localhost/proxy/abc.html

以下是几种常见的匹配情况:

第一种:

1

2

3

location /proxy/ {

proxy_pass http://127.0.0.1:8080/;

}

代理到:http://127.0.0.1:8080/abc.html

第二种:

1

2

3

location /proxy/ {

proxy_pass http://127.0.0.1:8080;

}

相对于第一种proxy_pass缺少/
代理到:http://127.0.0.1:8080/proxy/abc.html

第三种:

1

2

3

location /proxy/ {

proxy_pass http://127.0.0.1:8080/api/;

}

代理到:http://127.0.0.1:8080/api/abc.html

第四种:

1

2

3

location /proxy/ {

proxy_pass http://127.0.0.1:8080/api;

}

相对第三种少/
代理到:http://127.0.0.1:8080/apiabc.html

1

2

3

location /proxy {

proxy_pass http://127.0.0.1:8080/api;

}

代理到:http://127.0.0.1:8080/api/abc.html

第五种:

1

2

3

location /proxy {

proxy_pass http://127.0.0.1:8080/;

}

代理到:http://127.0.0.1:8080//abc.html
注意此处有两个反斜杠//

1

2

3

location /proxy {

proxy_pass http://127.0.0.1:8080;

}

代理到:http://127.0.0.1:8080/proxy/abc.html

以下是官方文档的一段解释:

NGINX-httpproxy模块官方文档
阿里tengine翻译的中文文档-推荐阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值