我正在运行 Apache 网络服务器,我想为每个单独的 IP 地址添加一些简单的速率限制。
我目前收到似乎有很多机器人请求访问网站,这稍微减慢了正常请求的速度。
我希望能够添加速率限制以减慢机器人的速度,同时又不妨碍 googlebot 的抓取。我猜大约每个 IP 每小时 20,000 个请求应该可以做到这一点,可能更少。
无论如何,为 Apache 添加速率限制的最简单的方法是什么?
到目前为止我发现了几个选择:
mod_security
mod_evasive
mod_ratelimit
mod_limitpconn
但似乎没有一个明确的、明显的解决方案。
或者,使用 Nginx 作为反向代理(并使用内置的速率限制)似乎是另一个可行的选择。它看起来比我迄今为止为 Apache 找到的更容易实现。尽管如果我缺少一个简单的解决方案,我更愿意只使用 Apache。
Fail2Ban 似乎是另一个简单的解决方案,但我不确定429
当访问者达到速率限制时是否可以使用它来返回响应代码。
你会推荐什么?