You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用自定义AWS WAF速率规则实现1分钟超20请求IP封禁10分钟?

AWS WAF 基于ALB的IP限速封禁方案(无需Lambda/API Gateway)

实现步骤

1. 进入目标WEB ACL

登录AWS WAF & Shield控制台,切换到对应区域,找到绑定了ALB的WEB ACL。

2. 创建速率规则

  • 点击「Add rules」→「Add my own rules and rule groups」
  • 选择Rate-based rule,输入规则名称(如IP_Rate_Limit_Block)
  • 在「Rate limit settings」区域:
    • 设置「Rate limit」为20,「Rate limit duration」选择1 minute(对应1分钟内超过20次请求的阈值)
    • (可选)通过「Scope-down statement」添加限定条件,比如仅统计特定路径、请求方法的请求,留空则统计所有请求
  • 在「Action」区域:
    • 选择Block动作
    • 勾选「Block additional requests from the IP address for」,设置时长为10 minutes(对应封禁10分钟)
    • (可选)配置自定义响应,比如返回403状态码及自定义提示内容

3. 调整规则优先级

确保这条速率规则的优先级高于其他允许类规则,避免被提前放行。

4. 验证配置

保存WEB ACL后,用测试IP发起超过20次请求,确认是否被封禁;等待10分钟后,验证是否自动解除限制。

常见问题说明

  • 手动自定义JSON规则易出错,比如速率统计的语法、IP匹配范围设置错误,建议通过控制台可视化配置避免这类问题。
  • 统计的源IP为客户端真实IP(前提是ALB已启用X-Forwarded-For),不会误统计ALB自身IP。
  • 支持IPv6地址的统计与封禁,只要WEB ACL和ALB已开启IPv6支持。

内容的提问来源于stack exchange,提问作者mihiruk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 06:15:25