跳转到内容
搜索文档

在仪表板中创建速率限制规则

最后更新 查看 MarkdownAgent 设置
  1. 在 Cloudflare 仪表板中,前往 **Security rules(安全规则)**页面。

    Go to Security rules ↗
  2. 要创建新的空规则,选择 Create rule(创建规则)> Rate limiting rules(速率限制规则)。要复制现有规则,选择其旁边的三点菜单 > Duplicate(复制)

  3. 在 **Rule name(规则名称)**中输入描述性名称。

    Cloudflare 仪表板中的 Create rate limiting rule 页面
  4. 在 **Field(字段)**下拉列表中,选择一个 HTTP 属性。对于每个请求,您为 **Field(字段)**选择的属性值会使用 **Operator(运算符)**中选定的运算符,与您为 **Value(值)**指定的值进行比较。

  5. (可选)在 **Cache status(缓存状态)**下,禁用 Also apply rate limiting to cached assets(也对缓存资源应用速率限制),以便在确定速率时仅考虑到达源站的请求。

  6. 在 **With the same characteristics(具有相同特征)**下,添加一个或多个特征,用于定义速率限制的请求计数器。每个值组合都有自己的计数器以确定速率。更多信息请参阅 Cloudflare 如何确定请求速率

  7. (可选)若要定义指定递增速率计数器条件的表达式,请启用 **Use custom counting expression(使用自定义计数表达式)**并设置表达式。默认情况下,计数表达式与规则表达式相同。计数表达式可以包含 响应字段

  8. 在 **When rate exceeds(当速率超过)**下,定义确定速率时要考虑的最大请求数与时间段。

  9. 在 **Then take action(然后执行操作)**下,从 **Choose action(选择操作)**下拉列表中选择规则操作。例如,选择 Block(阻止)表示当达到请求限制时,Cloudflare 会拒绝符合您指定条件的请求。

  10. (可选)如果选择了 Block(阻止)操作,可为超过已配置速率限制的请求 配置自定义响应

  11. 在 **Duration(持续时间)**下拉列表中选择缓解超时。这是达到速率后 Cloudflare 应用所选操作的时间段。

    拥有付费附加组件的企业客户可以 节流请求,而不是在选定持续时间内应用已配置的操作。要节流请求,请在 **With the following behavior(行为)**下选择 Throttle requests over the maximum configured rate(对超过最大配置速率的请求进行节流)。

  12. 要保存并部署规则,选择 Deploy(部署)。如果尚未准备好部署,选择 Save as Draft(保存为草稿)

  1. 登录 Cloudflare 仪表板,并选择您的账户与 zone。

  2. 前往 Security(安全)> WAF > Rate limiting rules(速率限制规则)

  3. 要创建新的空规则,选择 Create rule(创建规则)。要复制现有规则,选择其旁边的三点菜单 > Duplicate(复制)

  4. 在 **Rule name(规则名称)**中输入描述性名称。

    Cloudflare 仪表板中的 Create rate limiting rule 页面
  5. 在 **Field(字段)**下拉列表中,选择一个 HTTP 属性。对于每个请求,您为 **Field(字段)**选择的属性值会使用 **Operator(运算符)**中选定的运算符,与您为 **Value(值)**指定的值进行比较。

  6. (可选)在 **Cache status(缓存状态)**下,禁用 Also apply rate limiting to cached assets(也对缓存资源应用速率限制),以便在确定速率时仅考虑到达源站的请求。

  7. 在 **With the same characteristics(具有相同特征)**下,添加一个或多个 特征,用于定义速率限制的请求计数器。每个值组合都有自己的计数器以确定速率。更多信息请参阅 请求速率计算

  8. (可选)若要定义指定递增速率计数器条件的表达式,请启用 **Use custom counting expression(使用自定义计数表达式)**并设置表达式。默认情况下,计数表达式与规则表达式相同。计数表达式可以包含 响应字段

  9. (可选)在 **When rate exceeds(当速率超过)**中,在以下选项之间选择:

    • Request based(基于请求):基于给定时间段内传入请求数量的速率限制。
    • Complexity based(基于复杂度):基于给定时间段内处理请求的复杂度或成本的速率限制。
  10. 如果您在上一步选择了 Request based(基于请求)(或无法选择速率限制方法),请为以下项输入值:

    • Requests(请求数):最大请求数。
    • Period(时间段):确定速率时要考虑的时间段。

    如果您选择了 Complexity based(基于复杂度),请为以下项输入值:

    • Score per period(每周期分数):每个时间段的最大分数。超过该值时,将执行规则操作。
    • Period(时间段):确定速率时要考虑的时间段。
    • Response header name(响应标头名称):响应中由源站服务器设置的 HTTP 请求头名称,包含当前请求的分数。
  11. 在 **Then take action(然后执行操作)**下,从 **Choose action(选择操作)**下拉列表中选择规则操作。例如,选择 Block(阻止)表示当达到请求限制时,Cloudflare 会拒绝符合您指定条件的请求。

  12. (可选)如果选择了 Block(阻止)操作,可为超过已配置速率限制的请求 配置自定义响应

  13. 在 **Duration(持续时间)**下拉列表中选择缓解超时。这是达到速率后 Cloudflare 应用所选操作的时间段。

    拥有付费附加组件的企业客户可以 节流请求,而不是在选定持续时间内应用已配置的操作。要节流请求,请在 **With the following behavior(行为)**下选择 Throttle requests over the maximum configured rate(对超过最大配置速率的请求进行节流)。

  14. 要保存并部署规则,选择 Deploy(部署)。如果尚未准备好部署,选择 Save as Draft(保存为草稿)

为被阻止的请求配置自定义响应

在规则中选择 Block 操作时,可以可选地定义自定义响应。

自定义响应有三个设置:

  • With response type(响应类型):从列表中选择内容类型或默认 rate limiting 响应。可用的自定义响应类型如下:

    仪表板值 API 值
    Custom HTML "text/html"
    Custom Text "text/plain"
    Custom JSON "application/json"
    Custom XML "text/xml"
  • With response code(响应码):为响应选择 HTTP 状态码,范围为 400-499。默认响应码为 429。

  • Response body(响应正文):响应正文。根据所选响应类型配置有效正文。最大字段大小为 30 KB。

这篇文档对您有帮助吗?