代码之家  ›  专栏  ›  技术社区  ›  Srishti Gupta

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

  •  0
  • Srishti Gupta  · 技术社区  · 2 年前

    我有3个API端点,需要相同的 rate-limiting on Cloudflare 。所以,我把它们拼凑在一起。

    规则是这样的:

    如果传入请求匹配:

    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个请求时 (或10个路径请求 b 或10个路径请求 c )一分钟内,用户就会被屏蔽一天。

    • 是a 普通计数器桶 为所有路径创建 , b & c 结合在一起?

      因此,如果用户对路径发出7个请求 3个路径请求 c 一分钟内,用户就会被屏蔽一天。

    0 回复  |  直到 2 年前
        1
  •  2
  •   kyouhei    2 年前

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

    因此,只有当用户在一分钟内对路径a发出10个请求(或对路径b发出10个或对路径c发出10个)时,用户才会被阻止一天。

    不,水桶只算 Header value of identifier 在这种情况下。

    你需要设置 AND Path 附加条件

    enter image description here

    是为所有路径a、b和c创建的公共计数器桶;c结合在一起?

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

    对。如果你想为每条路径分开水桶,你必须做上面的事情。

    请详细查看此文档

    https://developers.cloudflare.com/waf/rate-limiting-rules/request-rate/

    a