我是靠谱客的博主 文静金毛,最近开发中收集的这篇文章主要介绍nginx location匹配优先级-个人总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

看了下网上的各种关于location优先级的文章,总感觉没有讲清楚。所以希望写一篇博文,抓住一个人对事物理解由浅入深的规律,来把这个规则说明清楚。

首先是一些概念

1.全等匹配:

	location = /static/img/ {
       deny all;
    }

2.普通匹配:

	location /static/img/ {
       deny all;
    }
    
	# 匹配到此类型时,终止后续的正则匹配(后面会有详细分析)
	location ^~ /static/img/ {
       deny all;
    }

3.正则匹配:

	#正则不区分大小写
	location ~* /static/img/ {  
       deny all;
    }
	#正则区分大小写
	location ~ /static/img/ {
       deny all;
    }

4.普通匹配和正则匹配之间的匹配关系说明:

nginx会先进行普通匹配,再进行正则匹配;
普通匹配时,nginx会遍历所有的普通匹配项,按照最长匹配原则找到一条最满足的匹配项;
正则匹配时,如果匹配到了一条正则匹配项,则直接返回,不进行后续的正则匹配(正则消耗大,考虑到匹配效率吧);

步骤详细说明:

1.匹配到全等匹配时,终止后续所有匹配,直接返回;
2.步骤一未匹配上时,然后遍历所有的普通匹配,按照最长匹配原则找到最满足的匹配项,
如果匹配项前面有^~符号,则终止后续正则匹配,采用该匹配项;反之则继续后续的正则匹配
3.步骤一二都未匹配上时,此时进行正则匹配,找到第一个满足的正则匹配项,直接返回,若都不满足,则返回步骤二中的最长匹配项
(所以说正则匹配和loaction的顺序有关系)

最后

以上就是文静金毛为你收集整理的nginx location匹配优先级-个人总结的全部内容,希望文章能够帮你解决nginx location匹配优先级-个人总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部