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 502 Bad Gateway的原因及如何解决详解
项目启动时莫名其妙网站访问不了,502 Bad Gateway,下面这篇文章主要给大家介绍了关于服务器报错nginx 502 Bad Gateway的原因及如何解决的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-06-06Nginx location 和 proxy_pass路径配置问题小结
本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配置文件,感兴趣的朋友跟随小编一起看看吧2021-09-09
最新评论