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 配置 proxy_hide_header 隐藏后端 Server 的版本信息的实现

    Nginx 配置 proxy_hide_header 隐藏后端 Server&n

    Nginx反向代理场景中,后端服务常会在响应头中暴露版本信息,使用proxy_hide_header指令可以在Nginx层将其过滤掉,本文就来详细的介绍一下Nginx隐藏后端 Server 的版本信息的实现,感兴趣的可以了解一下
    2026-04-04
  • Windows上启动停止Nginx服务器的实用指南

    Windows上启动停止Nginx服务器的实用指南

    在 Windows 上开发 Django、Vue 或其他 Web 项目时,Nginx 往往是我们最常用的反向代理服务器,下面小编就和大家介绍几个在Windows系统上管理Nginx服务器的实用方案吧
    2026-02-02
  • nginx实时请求监测的项目实践

    nginx实时请求监测的项目实践

    本文主要介绍了nginx实时请求监测,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • Nginx静态资源防盗链配置详解

    Nginx静态资源防盗链配置详解

    这篇文章主要为大家介绍了Nginx静态资源防盗链如何配置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 使用nginx搭建点播和直播流媒体服务器的方法步骤

    使用nginx搭建点播和直播流媒体服务器的方法步骤

    本篇文章主要介绍了使用nginx搭建点播和直播流媒体服务器的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • nginx内存池源码解析

    nginx内存池源码解析

    内存池是在真正使用内存之前,预先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用,接下来通过本文给大家介绍nginx内存池源码,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-11-11
  • nginx部署vue项目,给访问路径加前缀的实现

    nginx部署vue项目,给访问路径加前缀的实现

    这篇文章主要介绍了nginx部署vue项目,给访问路径加前缀的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 使用nginx.exe时闪退的原因和解决方法

    使用nginx.exe时闪退的原因和解决方法

    最近使用老师给的nginx.exe时,点击nginx.exe突然屏幕就闪一下,经过一番排查,发现是端口被占用所导致的,所以本文就给大家讲讲端口被占用时的解决方法详细步骤,需要的朋友可以参考下
    2023-07-07
  • 详解Nginx HTTP负载均衡和反向代理配置

    详解Nginx HTTP负载均衡和反向代理配置

    这篇文章主要介绍了详解Nginx HTTP负载均衡和反向代理配置,有需要的同学可以了解一下。
    2016-11-11
  • Nginx流量控制及白名单实现

    Nginx流量控制及白名单实现

    本文主要介绍了Nginx流量控制实现,还包括了针对客户端IP地址的白名单和黑名单应用不同“流量限制”的高级配置,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08

最新评论