Nginx中代理的上下文路径设置方式

 更新时间:2025年03月19日 11:12:26   作者:赵同学来了  
这篇文章主要介绍了Nginx中代理的上下文路径设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Nginx代理的上下文路径设置

  • 实际配置nginx的时候
  • 在Location段中配置的路径(request_uri)以及代理指令(proxy_pass)中设置的上下文路径的组合不同
  • 最后实现的结果就不一样

例子

  • 加入请求nginx服务的URL都为: http://10.10.1.72:8088/abc/system/commom

Case 1

Location后的上下文路径为"/api",代理路径的上下文路径为 空

location /abc{
    proxy_pass http://10.10.1.90:8080;
    proxy_rediect off;
}
  • 代理过程: 将schema(http),host,port替换,其他URI都不变,然后发送到web服务器。
  • 客户端请求URL: http://10.10.1.72:8088/abc/system/commom
  • 代理结果: http://10.10.1.90:8080/abc/system/commom

Case 2

Location后的上下文路径为"/abc",代理路径的上下文路径为 “/”

location /abc{
    proxy_pass http://10.10.1.90:8080/;
    proxy_rediect off;
}
  • 代理过程: 按照请求路径中的/abc匹配到了对应的代理后,除了替换host,port替换,把"/abc"替换为代理路径上下文路径"/"
  • 客户端请求URL: http://10.10.1.72:8088/abc/system/commom
  • 代理结果: http://10.10.1.90:8080//system/commom

Case 3

Location后的上下文路径为"/abc/",代理路径的上下文路径为 空

location /abc/{
    proxy_pass http://10.10.1.90:8080;
    proxy_rediect off;
}
  • 代理过程: 按照请求路径中的/abc匹配到了对应的代理后,把请求的ip和port替换为代理服务的ip和port,对应的URi不变
  • 客户端请求URL: http://10.10.1.72:8088/abc/system/commom
  • 代理结果: http://10.10.1.90:8080/abc/system/commom

Case 4

Location后的上下文路径为"/abc/",代理路径的上下文路径为 “/”

location /abc/{
    proxy_pass http://10.10.1.90:8080/;
    proxy_rediect off;
}
  • 代理过程: 按照请求路径中的/abc匹配到了对应的代理后,除了把请求的ip和port替换为代理服务的ip和port,把"/abc/“替换为”/“,而”/abc/"之后的路径不变。
  • 客户端请求URL: http://10.10.1.72:8088/abc/system/commom
  • 代理结果: http://10.10.1.90:8080/system/commom

总结

如果代理proxy_pass只有ip和host,没有上下文,则代理过程只替换nginx请求的ip和port,其余部分不变。

如果代理proxy_pass除了ip和host,还有上下文,则代理过程中,除了替换ip和port之外,还会将location的路径修改为porxy_pass中的上下文,然后将剩余路径拼接。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Nginx中worker connections问题的解决方法

    Nginx中worker connections问题的解决方法

    这篇文章主要介绍了Nginx中worker connections问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 使用Nginx实现端口转发TCP代理的实现示例

    使用Nginx实现端口转发TCP代理的实现示例

    本文主要介绍了使用Nginx实现端口转发TCP代理的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • nginx配置多个vue项目

    nginx配置多个vue项目

    这篇文章主要介绍了nginx配置多个vue项目的方法以及流程介绍,对此有需要的朋友参考下。
    2018-04-04
  • 详解Nginx Location配置

    详解Nginx Location配置

    本篇文章给大家分享了Nginx Location配置的相关步骤以及具体方法,有需要的朋友参考学习下。
    2018-05-05
  • 详解Nginx与Apache共用80端口的配置方法

    详解Nginx与Apache共用80端口的配置方法

    这篇文章主要介绍了Nginx与Apache共用80端口的配置方法,当然如果想Nginx不与Apache抢80端口的话,本文后面也附带了Nginx的端口修改方法,需要的朋友可以参考下
    2016-01-01
  • Nginx配置后请求报404的几种问题解决方法

    Nginx配置后请求报404的几种问题解决方法

    本文主要介绍了Nginx配置后请求报404的两种常见问题及其解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • 修改Nginx与Apache上传文件大小限制

    修改Nginx与Apache上传文件大小限制

    这篇文章主要介绍了修改Nginx与Apache上传文件大小限制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 解读nginx反向代理location和proxy_pass的映射关系

    解读nginx反向代理location和proxy_pass的映射关系

    这篇文章主要介绍了解读nginx反向代理location和proxy_pass的映射关系,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Nginx使用Lua模块实现WAF的原理解析

    Nginx使用Lua模块实现WAF的原理解析

    waf是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,本文重点给大家介绍Nginx使用Lua模块实现WAF的原理,需要的朋友参考下吧
    2021-09-09
  • Nginx代理时header头中带

    Nginx代理时header头中带"_"信息丢失问题的解决

    这篇文章主要给大家介绍了关于Nginx代理时header头中带"_"信息丢失问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02

最新评论