nginx的匹配规则顺序问题
2022/7/15 5:21:36
本文主要是介绍nginx的匹配规则顺序问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
nginx的匹配规则 location 分为两部分 前缀 和 文字字符 两部分
如:
location = /hello { } "=" 就是前缀 "/hello" 就是字符
用一个例子来说明匹配顺序,
nginx的配置信息是这样的:
1.location = / {
...
}
2.location /hello {
...
}
3. location /hello/abc {
...
}
4.location ~* /hello {
...
}
一、访问 / 时 这时精准匹配了 配置 1
二、访问 /hello和/hello/abc都会匹配到配置4
(因为在访问/hello路径时,最长匹配到/hello的location,这是记录改location,然后进行正则匹配,找到配置4的location进行匹配,如果不存在配置4则匹配配置2)
(在访问/hello/abc也是一样的匹配规则,先记录配置3在进行正则匹配到配置4)
如果想让 配置2直接匹配/hello,那么可以通过在配置2中加入前缀 “ ^~ ” , 这样在匹配到配置2的时候就直接匹配了,不会走正则。
总结:
1.首先检查文字字符串,如果访问路径匹配到对应的文字字符,且前缀为 “ = ”,匹配并结束。
2. 如果匹配的路径有前缀 "^~", 匹配并结束。
3. 匹配最长的文本字符并记录,然后进行正则匹配,若存在正则匹配,匹配第一个结束,若不存在则匹配最长文本字符的路径。
这篇关于nginx的匹配规则顺序问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享