假如我们发现一个合作伙伴使用 PHPCrawler 机器人,它偶尔会产生流量峰值,从而减慢用户访问的网站速度。合作伙伴已被通知减少这些峰值,在等待他们修复时,我们需要对 PHPCrawler 机器人进行速率限制,以避免对用户访问网站的性能产生影响。
PHPCrawler的访问会与awswaf:driven:aws:bot-control:bot:name:phpcrawl标签匹配。我们将速率限制为每 5 分钟 100 个请求,达到限制后,响应应遵循 RFC 6585,返回 http 错误代码 429(请求过多),并带有 Retry-After 标头,指示请求者在发出新请求之前应等待 900 秒(15 分钟)。
为WebACL添加一条自定义规则:
规则详情
Rate-limiting设置
只统计符合以下语句的请求
在设置规则优先级页面上,确保新的 phpcrawl-rate-limiter
规则在AWS-AWSManagedRulesBotControlRuleSet
下方:
不断请求页面。最初,请求将产生200 OK响应
当触发限速规则时,请求将被阻止并导致429 Too Many Requests响应, 响应中包含 Retry-After标头: