当前位置: 首页 > news >正文

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

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;

}

http://www.lryc.cn/news/192956.html

相关文章:

  • 深入了解Spring Boot Actuator
  • 【SQL】NodeJs 连接 MySql 、MySql 常见语句
  • SSH 基础学习使用
  • JavaFX: 使用本地openjfx包
  • 【HCIA】静态路由综合实验
  • Django框架集成Celery异步-【2】:django集成celery,拿来即用,可用操作django的orm等功能
  • 获取本地缓存数据修改后,本地缓存中的值也修改问题
  • 云开发校园宿舍/企业/部门/物业故障报修小程序源码
  • K邻近算法(KNN,K-nearest Neighbors Algorithm)
  • 前端基础一:用Formdata对象来上传图片的原因
  • CSS的布局 Day03
  • nodejs+vue+elementui养老院老年人服务系统er809
  • antd表格宽度超出屏幕,列宽自适应失效
  • 布局--QT Designer
  • 2024第八届杭州国际智慧城市博览会:建筑与智能,智慧与未来
  • Text-to-SQL小白入门(八)RLAIF论文:AI代替人类反馈的强化学习
  • C语言联合体和枚举
  • Ubuntu 上传项目到 GitHub
  • CSS 复杂卡片/导航栏特效运用目录
  • QT: 一种精确定时器类的实现与使用
  • SQLite4Unity3d安卓 在手机上创建sqlite失败解决
  • 跨站请求伪造:揭秘攻击与防御
  • matlab 图像均值滤波
  • P1433 吃奶酪
  • c++string类的赋值问题
  • 服务器中了mkp勒索病毒怎么办?mkp勒索病毒特点,解密数据恢复
  • 深入探析网络代理与网络安全
  • 如何开始使用 Kubernetes RBAC
  • 8.简易无线通信
  • 渗透测试漏洞挖掘技巧