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;

}

相关推荐
晚风吹北巷1 小时前
Linux复习篇(自用)
linux·运维·服务器·1024程序员节
风哥2号2 小时前
数据库教程FGMT69:PostgreSQL运维诊断与监控分析
运维·数据库·postgresql
Harrison Ben2 小时前
(原创)SAP FI自动入账奥义:FBKP FBKA FBKF
运维·sap·sap fico·sap运维·sap 实施
无足鸟ICT3 小时前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节
姜鱼问生3 小时前
网页一片白?Docker 跑 Nginx 读不到文件,403 Forbidden 排查实录
nginx·docker·容器
DYWorker0014 小时前
第1课:基于正点原子RK3568开发板读懂Linux内核
linux·运维·网络
GlobalInfo4 小时前
全球及中国机器人现场部署服务行业研究报告(2026版):市场现状、行业前景与占有率分析
大数据·运维·人工智能
Android系统攻城狮4 小时前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
分布式存储与RustFS4 小时前
把 LSM 引擎直接架在对象存储上:slatedb 能不能跑在 RustFS 上?
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
深圳恒讯4 小时前
国外云服务器部署企业官网,怎样确定配置、IP 与后续扩容方案?
运维·服务器·tcp/ip