ngix 常用配置之 location 匹配规则
大家好,我是 17。
今天和大家详细聊聊 nginx 的 location 匹配规则
location 匹配规则
@ 匹配规则在后面的 try_files 中有举例
location 按如下优先级匹配
- = 绝对匹配,一个字符也不能差
- ^~ 前缀匹配
- ~(区分大小写), ~*(不区分大小写) 正则匹配
- 普通前缀匹配
2,4的匹配是匹配最长优先。
3 的匹配是按顺序,写在前面的优先。
完全匹配
location = /abc {return 900;
}curl -I localhost:3000/abc
HTTP/1.1 900
location = abc 虽然只少了 / ,但这样是匹配不到的,一个字符也不能差。完全匹配优先级最高,无论写在前面还是后面。
^~ 前缀匹配
# 正则匹配
location ~ abc {return 900;
}
# 前缀匹配
location ^~ /a {return 901;
}curl -I localhost:3000/abc
HTTP/1.1 901
^~ 匹配的优先级高于正则匹配。
初看到 ^~ 的人会误以为是正则匹配。这个要注意下,这个是前缀匹配,就是从前向后一个字符一个字符匹配。
# 普通前缀匹配
/abc/ {
}# 前缀匹配
^~ /abc/ {
}
这两种写法的匹配方式是一样,^~ 的优先级更高。
正则匹配
# 普通前缀匹配
location /abcd {return 901;
}
# 正则匹配
location ~ /ab {return 902;
}curl -I localhost:3000/abcd
HTTP/1.1 902
正则匹配的优先级高于普通前缀匹配。
# 正则匹配
location ~ /ab {return 901;
}# 正则匹配
location ~ /abc {return 902;
}curl -I localhost:3000/abc
HTTP/1.1 901
正则匹配是按顺序来的,前面的匹配成功,后面的就不再匹配了。
从性能上来说,尽量不要用正则,正则匹配性能最低。
前缀匹配最长优先
location /abcd {return 901;
}
location /abc {return 902;
}location ^~ /def {return 903;
}
location ^~ /defg {return 904;
}curl -I localhost:3000/abcd
HTTP/1.1 901curl -I localhost:3000/defg
HTTP/1.1 904
ngix 常用配置之 location 匹配规则相关推荐
- nginx配置中location匹配规则详解
女主宣言 nginx作为一款性能优异的反向代理服务器,可以用于静态代理.负载均衡.限流等多种场景.那么,要灵活的使用nginx,必须清楚nginx配置文件的使用.本文作者对nginx的http块中的l ...
- nginx之location匹配规则
Nginx之location 匹配规则详解 有些童鞋的误区 1. location 的匹配顺序是"先匹配正则,再匹配普通". 矫正: location 的匹配顺序其实是" ...
- Nginx之location 匹配规则详解
Nginx 的语法形式是: location [=|~|~*|^~|@] /uri/ { - } ,意思是可以以" = "或" ~* "或" ~ &q ...
- location 匹配规则 (NGINX)
转:https://moonbingbing.gitbooks.io/openresty-best-practices/ngx/nginx_local_pcre.html location 匹配规则 ...
- 前端开发掌握nginx常用功能之serverlocation匹配规则
nginx主要是公司运维同学必须掌握的知识,涉及到反向代理.负载均衡等服务器配置.前端开发尤其是纯前端开发来说对nginx接触的并不多,但是在一些情况下,nginx还是需要前端自己来搞:例如我们公司的 ...
- nginx中location匹配规则与proxy_pass代理转发
最近使用nginx在服务器上配置,在做路径匹配时上遇到细节上的东西,在此做记录,安装请转 windows下安装使用nginx教程 一.location匹配规则 1.前缀匹配:不带符号 server { ...
- 【Nginx学习系列】location匹配规则
location 匹配规则 规则 匹配 = 严格匹配.如果请求匹配这个 location,那么将停止搜索并立即处理此请求 ~ 区分大小写匹配(可用正则表达式) ~* 不区分大小写匹配(可用正则表达式) ...
- Nginx—核心配置location匹配规则说明
2019独角兽企业重金招聘Python工程师标准>>> location介绍 location指令是Nginx中最核心的一项配置,根据预先定义的URL匹配规则来接收用户发送的请求,根 ...
- [转载+整理]Nginx Location匹配规则
目录 规则语法 location 分类 匹配顺序: 扩展 location / {}和 location =/ {}的区别 测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, 优先度 ...
最新文章
- mysql 范围内日期列表,mysql – 将日期列表条件中的日期转换为日期范围列表
- android 汉字转字节,android实现汉字转拼音功能 带多音字识别
- WIX配置(二)-创建快捷方式
- 开发出高性能的网站系列文章
- php bc高精度测试,php BC高精确度函数库
- php tp框架调用方法,thinkPHP框架使用方法
- Teamcenter 入门开发系列问答(3)
- 解决“‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件“的问题
- CentOS 7.x 安装 Maven
- 绿盟扫描出来的ubuntu12.04下apache漏洞修复
- 大数据时代的数据挖掘是怎么做的?
- android颜色透明度换算详解
- vim安装使用pathogen
- 2019 ICPC 上海网络赛 K. Peekaboo
- 电饭锅面包的做法大全 电饭锅怎么做面包
- WebGL入门(三十五)-三维物体雾化效果,立方体雾化效果
- 最大子矩阵和问题java_最大子矩阵
- Linux设置环境变量
- Centos7卸载自带的OpenJDK
- 手机如何修改MD5视频?修改MD5视频的办法你清楚吗?