nginx中的location路径配置(实路径和虚路径)

 更新时间:2024年06月19日 09:13:47   作者:叹人间,美中不足今方信  
这篇文章主要介绍了nginx中的location路径配置(实路径和虚路径),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

nginx location路径配置(实路径和虚路径)

注:

  • 本文要说的不是location的配置规则和内容
  • 而是基于urlnginx代理转发的后端接口的路径配置

实路径和虚路径?

location配置路径时,是分实路径和虚路径的,并且路径会影响到proxy_pass转发时的路径。

假如tomcat启动了一个名为online-registration的工程

登录的后端接口如下所示:

@RestController
@RequestMapping("/user/login")
public class UserLoginController {
	@RequestMapping()
	public Object login() {
		return "success";
	}
}

nginxlocation配置如下所示:

自己测试时不要同时配置,避免混淆

# 虚路径
location /v1/online {
	proxy_pass http://1.1.1.1:8080/online-registration/ ;
}
# 实路径
location /v1/online/user {
	proxy_pass http://1.1.1.1:8080/online-registration/user ;
}

结合接口的RequestMappingnginx配置来看:

接口的路径是 /user/loginlocation配置的/v1/online为虚拟路径

它的proxy_pass配置到tomcat启动的工程名即可,/v1/online/user路径中包含RequestMapping的关键字

它的proxy_pass路径需要配置到工程名下的具体接口的路径。

以浏览器访问虚路径分析

location /v1/online {
	proxy_pass http://1.1.1.1:8080/online-registration/ ;
}

访问http://1.1.1.1/v1/online/user/login

nginx匹配url中的/v1/online

nginx会将online后面的user/login自动的添加到proxy_pass转发的路径/online-registration/后面

nginx转发的实际路径为: http://1.1.1.1:8080/online-registration/user/login

正确的访问后端接口;

以浏览器访问实路径分析

location /v1/online/user {
	proxy_pass http://1.1.1.1:8080/online-registration/user ;
}

访问http://1.1.1.1/v1/online/user/login,同虚路径的访问方式一致。

但是如果proxy_pass的配置是http://1.1.1.1:8080/online-registration;

那么nginx代理时

转发的实际路径为:http://1.1.1.1:8080/online-registration/login

如果你的项目只有/user/login接口,而没有/login接口时,就会出现访问异常。

总结

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

相关文章

  • 详解Nginx如何配置继承模型

    详解Nginx如何配置继承模型

    这篇文章主要介绍了详解Nginx如何配置继承模型,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • win10上安装nginx的方法步骤

    win10上安装nginx的方法步骤

    这篇文章主要介绍了win10上安装nginx的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Nginx中共享session会话配置方法例子

    Nginx中共享session会话配置方法例子

    这篇文章主要介绍了Nginx中共享session会话配置方法例子,最后使用第三方模块upstream_hash解决了这个问题,需要的朋友可以参考下
    2014-07-07
  • 基于Nginx的衍生版服务器Tengine简介

    基于Nginx的衍生版服务器Tengine简介

    这篇文章主要介绍了基于Nginx的衍生版服务器Tengine简介,本文讲解了Nginx的特性、Tengine的特性、架构和扩展性等内容,需要的朋友可以参考下
    2015-03-03
  • 详解阿里云nginx服务器多站点的配置

    详解阿里云nginx服务器多站点的配置

    本篇文章主要介绍了阿里云nginx服务器多站点的配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • nginx全局变量整理小结

    nginx全局变量整理小结

    nginx全局变量整理小结,方便需要的朋友
    2012-11-11
  • Nginx access.log日志详解及统计分析小结

    Nginx access.log日志详解及统计分析小结

    nginx有一个非常灵活的日志记录模式,本文主要介绍了Nginx access.log日志详解及统计分析小结,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Nginx的缓存配置与其他配置方法

    Nginx的缓存配置与其他配置方法

    Nginx的压缩功能配置是通过gzip压缩技术,可以使原来的网页的内容大小压缩成原来的30%,这样,用户在访问网页的时候,由于传输的内容比原内容小很多,故而速度会快很多,本文给大家介绍Nginx的缓存配置与其他配置方法,感兴趣的朋友一起看看吧
    2023-12-12
  • Nginx使用Lua模块实现WAF的原理解析

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

    waf是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,本文重点给大家介绍Nginx使用Lua模块实现WAF的原理,需要的朋友参考下吧
    2021-09-09
  • 解决nginx报错信息 client intended to send too large body: 1331696 bytes

    解决nginx报错信息 client intended to send too large body: 1331696

    这篇文章主要介绍了解决nginx报错 client intended to send too large body: 1331696 bytes的相关资料,需要的朋友可以参考下
    2017-02-02

最新评论