nginx的location的优先级和匹配方式

 更新时间:2023年10月15日 08:36:16   作者:91888888  
location是Nginx中的块级指令,本文主要介绍了nginx的location的优先级和匹配方式,具有一定的参考价值,感兴趣的可以了解一下

在http模块中有server,server模块中有location,location匹配的是uri

在一个server中,会有多个location,如何来确定匹配哪个location

niginx的正则表达式

^   字符串的起始位置

$   字符串的结束位置

*   匹配所有

+   匹配前面的字符最少一次

?   匹配前面的字符0次或者1次

.   任意单个字符

{n}   连续重复出现n次

{n,m}   连续重复出现n到m次

[c]   匹配单个字符c

()   分组

|   或

location匹配的分类:

location  /

location  ~*

1、精确匹配location  =  /test{...}

完整的路径,一个字不能少,一个字不能错

2、正则匹配location  ~/{}

location  ^~   前缀匹配,以什么为开头

location  ~    区分大小写进行匹配

location  ~*   不区分大小写进行匹配

!~    区分大小写取反匹配

!~*   不区分大小写取反匹配

3、一般匹配location  /test{}

location匹配一旦匹配成功,就不再向下匹配

location匹配的优先级

大致:【精确匹配 > 正则匹配 > 一般匹配】

具体:【location = 完整路径  >  location ^~  >  location ~,~*  >  location /test  >  location /

精确匹配,优先级最高

其次是正则匹配

一般匹配优先级最低

工作中配置location的原则:

1、网站首页

(一般都是静态页面):都是精确匹配(匹配网站的根工作目录)

location =/{

}

2、处理静态文件的请求

目录匹配和后缀匹配

location ^~ /static {
}

location ~* \.{html|jpg|jpeg|gif|png} $ {

}

3、一般规则

动态请求,把动态请求转发到后端

location /{
 proxy_pass http://tomcat_server;

到此这篇关于nginx的location的优先级和匹配方式的文章就介绍到这了,更多相关nginx location优先级和匹配内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx 代理域名到另外一个域名的实现方法

    nginx 代理域名到另外一个域名的实现方法

    本文主要介绍了nginx 代理域名到另外一个域名的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • linux查找当前系统nginx路径的两种方法

    linux查找当前系统nginx路径的两种方法

    工作中有很多服务器, 它们上面装的 nginx 的路径也太不相当, 当我们拿到一个不熟悉的服务器时, 我们怎么知道, 当前运行的nginx的目录是哪一个呢,本文小编给大家介绍了两种linux查找当前系统nginx的路径的方法,需要的朋友可以参考下
    2023-11-11
  • Nginx捕获并自定义proxy_pass返回的错误问题

    Nginx捕获并自定义proxy_pass返回的错误问题

    这篇文章主要介绍了Nginx捕获并自定义proxy_pass返回的错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Nginx带宽控制(限速模块使用)

    Nginx带宽控制(限速模块使用)

    这篇文章主要介绍了Nginx带宽控制(限速模块使用),本文讲解了使用limit_rate和limit_rate_aft以及limit_conn实现带宽控制的例子,需要的朋友可以参考下
    2015-03-03
  • k8s部署ingress-nginx的方法步骤

    k8s部署ingress-nginx的方法步骤

    k8s集群服务部署好之后,需要对外提域名访问,这时候就需要ingress-nginx了,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Nginx设置目录的访问权限实现访问静态资源

    Nginx设置目录的访问权限实现访问静态资源

    遇到Permission denied错误,通常是Nginx用户权限不足,本文就来介绍一下Nginx设置目录的访问权限实现访问静态资源
    2024-10-10
  • Nginx反向代理与缓存配置方式

    Nginx反向代理与缓存配置方式

    本文指导Nginx安装、负载均衡配置(含轮询、备用、权重等参数)、真实IP日志记录及缓存机制设置,涵盖反向代理、服务器状态管理与缓存验证测试
    2025-07-07
  • Nginx日志按日期切割详解(按天切割)

    Nginx日志按日期切割详解(按天切割)

    由于nginx的日志本身只是支持按照server_name或者大小进行划分,对于习惯了apache的按照一个网站每天一个日志的我来说是不可以接受的,所以就实现了按天切割的功能,这篇文章主要介绍了关于Nginx日志按日期切割的相关资料,需要的朋友可以参考下。
    2017-03-03
  • 为Nginx服务器配置黑名单或白名单功能的防火墙

    为Nginx服务器配置黑名单或白名单功能的防火墙

    这篇文章主要介绍了为Nginx服务器配置黑名单或白名单功能的防火墙的方法,文中还附带介绍了一个基于lua的第三方防火墙模块,需要的朋友可以参考下
    2016-01-01
  • 教你如何快速在CentOS7中安装Nginx

    教你如何快速在CentOS7中安装Nginx

    今天我们就只图快不图细的讲解一下如何在CentOS7系统下快速安装Nginx,本文通过图文并茂的形式给大家展示,感兴趣的朋友一起看看吧
    2021-09-09

最新评论