nginx中proxy_pass各种用法详解

代理转发规则

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翻译的中文文档-推荐阅读

posted @   南珂丶一梦  阅读(434)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示