跳转到内容
搜索文档

顺序和优先级

最后更新 查看 MarkdownAgent 设置

Cloudflare 防火墙规则(现已弃用)是针对 HTTP 请求的更大评估链的一部分,如下面的图表所示。例如,防火墙规则仅评估已通过 IP 访问规则的请求。如果请求在链中的任何阶段被规则阻止,Cloudflare 将不再进一步评估该请求。

不基于 Ruleset Engine 的安全产品在 Cloudflare 处的请求评估流程图

默认情况下,Cloudflare 按照列表顺序评估防火墙规则,其中规则按照其在防火墙规则列表中出现的顺序进行评估。在处理少量规则时,列表排序很方便,因为您可以通过将它们拖放到相应位置来管理它们的顺序。但是,随着规则数量的增加,按列表顺序管理规则变得困难。这就是优先级顺序发挥作用的地方。

启用优先级排序后,Cloudflare 将按照其优先级编号(从低到高)评估防火墙规则。如果一个请求匹配了两个具有相同优先级的规则,则使用操作优先级(action precedence)来解决冲突。在这种情况下,只会执行具有最高优先级的规则操作,除非该操作是 记录 (Log)绕过 (Bypass)(有关详细信息,请参阅 防火墙规则操作)。优先级排序使管理大量防火墙规则变得更加容易,并且一旦规则数量超过 200 个,Cloudflare 会要求使用它。

按列表顺序管理规则评估

拥有相对较少防火墙规则(不超过 200 个)的用户会发现默认情况下启用了列表排序。启用列表排序后,规则列表允许您将防火墙规则拖放到相应位置,如下所示:

在规则列表中将防火墙规则移动到新位置以重新排序的动画

一旦包含非活动规则在内的规则总数超过 200 个,您就必须使用优先级排序来管理评估。当您越过此阈值时,防火墙规则界面会自动切换到优先级排序。

按优先级顺序管理规则评估

尽管当活动和非活动防火墙规则的数量超过 200 个时会自动启用优先级排序,但您也可以随时从规则列表中手动启用优先级排序。

Cloudflare 防火墙规则不强制规定默认优先级,您也不必为每条规则设置优先级。

启用优先级排序

要手动启用优先级排序:

  1. 在规则列表上方,选择 Ordering(排序)
  2. 选择 Priority Numbers(优先级编号)。

启用优先级排序后,您可以为每条防火墙规则设置优先级编号。

设置规则优先级

要设置防火墙规则的优先级编号:

  1. 在规则列表中找到所需的规则,然后选择 Edit(编辑)(扳手图标)。

  2. 在 **Edit firewall rule(编辑防火墙规则)**面板中,在 **Priority(优先级)**中输入一个正整数值。

    在仪表板中编辑防火墙规则以定义其优先级 (Priority) 值
  3. 选择 Save(保存)

规则列表中的 **Priority(优先级)**列显示每条规则的优先级值。

使用优先级顺序时,防火墙规则选项卡在规则列表的第一列中显示每条规则的优先级(如果有)

使用优先级排序

Cloudflare 将优先级排序设计为极具弹性。这种弹性对于通过 Cloudflare API 以编程方式管理大型规则集特别有用。使用 Update firewall rules 命令设置 priority 属性。有关详细信息,请参阅 Cloudflare API:防火墙规则

虽然您的优先级编号方案可以是任意的,但请记住以下几点:

  • 评估顺序从最低的优先级编号开始,一直到最高。

  • 没有优先级编号的规则最后被评估,并按照其操作优先级(action precedence)顺序执行。例如,执行 记录 (Log) 操作的规则在执行 阻止 (Block) 操作的规则之前被评估。有关操作优先级的更多信息,请参阅 防火墙规则操作

  • 避免使用数字 1 作为优先级,以便将来更容易修改规则顺序。

  • 考虑将优先级编号范围分组到对您的部署有意义的类别中。以下是一些示例:

    • 5000-9999:受信任的 IP 地址
    • 10000-19999:针对恶意爬虫的阻止规则
    • 20000-29999:针对滥用用户/垃圾邮件的阻止规则

这篇文档对您有帮助吗?