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 fair负载均衡方式使用详解

    nginx fair负载均衡方式使用详解

    本文主要介绍了nginx fair负载均衡方式使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • nginx重写rewrite基础及实例分享

    nginx重写rewrite基础及实例分享

    这篇文章主要介绍了nginx重写rewrite基础及实例分享,需要的朋友可以参考下
    2016-04-04
  • Nginx负载均衡之upstream模块简介与使用详解

    Nginx负载均衡之upstream模块简介与使用详解

    nginx有一个最大的功能就是可以实现服务器的负载均衡,下面这篇文章主要给大家介绍了关于Nginx负载均衡之upstream模块简介与使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法

    Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法

    今天小编就为大家分享一篇关于Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Nginx负载均衡/SSL配置的实现

    Nginx负载均衡/SSL配置的实现

    这篇文章主要介绍了Nginx负载均衡/SSL配置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • nginx HTTP模块配置常用指令

    nginx HTTP模块配置常用指令

    这篇文章主要介绍了nginx HTTP模块在配置文件中常用的指令,详解了每个指令的含义、语法和注意事项等,需要的朋友可以参考下
    2014-03-03
  • Nginx Location配置全过程

    Nginx Location配置全过程

    介绍了Nginx的Location语法结构,涵盖标准/正则uri匹配、匹配标识优先级(精确>正则>通用),root与alias指令的区别(保留/替换前缀),以及通过错误日志调试Location配置的方法
    2025-07-07
  • 使用Nginx做静态文件服务器,如何进行权限验证

    使用Nginx做静态文件服务器,如何进行权限验证

    这篇文章主要介绍了使用Nginx做静态文件服务器,如何进行权限验证问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Nginx PHP-Fcgi中因PHP执行时间导致504 Gateway Timeout错误解决记录

    Nginx PHP-Fcgi中因PHP执行时间导致504 Gateway Timeout错误解决记录

    这篇文章主要介绍了Nginx PHP-Fcgi中因PHP执行时间导致504 Gateway Timeout错误解决记录,本文的解决方法得来不易,需要的朋友可以参考下
    2014-09-09
  • Nginx双机热备的实现步骤

    Nginx双机热备的实现步骤

    本文主要介绍了Nginx双机热备的实现步骤,是国内企业中最为普遍的一种高可用方案,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05

最新评论