Cloudflare 规则的顺序如何工作?我读过文档,但没有解释(显然是不言自明的),但真的是这样吗?
例如如果我想阻止 ASN 但允许其中的 IP,我应该使用什么顺序?
订单A:
Rule 1: Block ASN
Rule 2: Allow IP
订单 B:
Rule 1: Allow IP
Rule 2: Block ASN
- 它会在第一个匹配规则后停止吗?所以解决方案是 B。
或者
- 它是否检查所有规则和 THEN 块?如果是,则解决方案为 A。
我认为这是非常重要的信息。
答案1
这取决于 ...
默认情况下,Cloudflare 按列表顺序评估防火墙规则,其中规则按照它们在规则列表中出现的顺序进行评估。...
一旦
总规则数超过 200 条(包括非活动规则),您就必须使用优先级顺序来管理评估,其中 Cloudflare 按照优先级编号的顺序评估防火墙规则,从优先级最低的开始
。...
来源:https://developers.cloudflare.com/firewall/cf-dashboard/create-edit-delete-rules/
当 http 请求按列表顺序进行评估并且请求与表达式匹配时,相关的操作决定接下来发生什么。
大多数操作都是退出,不会针对该请求评估进一步的防火墙规则。您也可以将其描述为 “第一场比赛”
什么时候“优先排序”可以使用多个具有相同优先级的表达式,它们都将被评估,并且一个 http 请求可以同时匹配多个表达式。
然后操作的优先级决定将发生什么。allow
操作优先于block
操作。
再次匹配后,大多数操作都会退出,并且不会针对该请求评估其他优先级较低的防火墙规则。
https://developers.cloudflare.com/firewall/cf-firewall-rules/actions/
———
按列表顺序
规则 1:阻止 ASN
规则 2:允许 IP
来自 IP 的请求将符合规则 1,请求将被阻止。规则 2 将不被评估。
要豁免 IP,需要反转规则顺序。
另一方面,按优先顺序排列:
优先级 2:规则 1:阻止 ASN
优先级 2:规则 2:允许 IP
来自 IP 的请求符合两个规则。允许操作的优先级高于阻止操作,因此将允许该请求。