我有 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
请求,则该用户将被屏蔽一天。