Cloudflare 上基于请求流量中的 OR 条件的速率限制规则的存储桶

问题描述 投票:0回答:1

我有 3 个 API 端点,需要在 Cloudflare 上使用相同的 [rate-limiting][1]。所以,我把它们放在一起了。

规则是这样的:

如果传入请求匹配:

Host = "https://www.x.com" AND URI Path = "/a"
OR
Host = "https://www.x.com" AND URI Path = "/b"
OR
Host = "https://www.x.com" AND URI Path = "/c"

(注意上面 AND 和 OR 运算符的用法)

具有相同特征:

Header value of identifier

当利率超过:

10 requests in 1 minute

然后采取行动:

Block requests for 1 day

以下情况会发生什么:

  • 是否为路径a

    b
    c
    创建了
    单独的计数器存储桶

    因此,只有当用户在一分钟内发出 10 次路径

    a
    请求(或 10 次路径
    b
    请求或 10 次路径
    c
    请求)时,该用户就会被屏蔽一天。

  • 是为所有路径a

    b
    c
    组合在一起创建的
    公共计数器桶
    吗?

    因此,如果用户在一分钟内发出 7 次路径

    a
    请求和 3 次路径
    c
    请求,则该用户将被屏蔽一天。

security cloudflare rate-limiting websecurity
1个回答
0
投票

是否为路径 a、b 和 c 创建单独的计数器桶?

因此,只有当用户在一分钟内对路径 a 发出 10 次请求(或对路径 b 发出 10 次请求,或对路径 c 发出 10 次请求)时,该用户就会被屏蔽一天。

不,在这种情况下,桶仅依赖于

Header value of identifier

您需要另外设置

AND Path
条件

是否为所有路径a、b和c组合在一起创建了一个公共计数器桶?

因此,如果用户在一分钟内对路径 a 发出 7 个请求,对路径 c 发出 3 个请求,则该用户将被屏蔽一天。

是的。如果您想为每个路径单独存储桶,则必须执行上述操作。

© www.soinside.com 2019 - 2024. All rights reserved.