我有一个用于EC2 HTTP服务器的CloudFront发行版。我为CloudFront分布using WAF创建了一个速率限制。从理论上讲,任何5分钟内IP地址都不能发送超过2,000个请求。但这似乎不起作用。在不到1分钟的时间内,我从笔记本电脑(使用Go程序)触发了10,000个并发请求,所有请求都通过了。我知道它们已经到达EC2的起点,因为我的HTTP服务器保留了一个计数器来请求。
奇怪的是,WAF仪表板甚至意识到流量超过了5分钟的限制:
我的EC2服务器记录了所有10,000次匹配。
我缺少一些配置上的细微之处吗?还是在CloudFront注册流量高峰到实现IP块之间会有很长的延迟?
答案 0 :(得分:1)
您可能已经知道了这一点,但是...您必须特别选择包含AWS WAF Web ACL
的{{1}},其中包含CloudFront发行版中的速率限制规则。您可以在CloudFront发行版的Distribution Settings
页上执行此操作(第二项-带有标签AWS WAF Web ACL
的下拉列表)。
如果您不这样做,那么这两个对象就不会连接在一起,这也许可以解释为什么您希望阻止请求时没有被阻止。