如何限制机器人向 Nginx 服务器发送的请求速率?

如何限制机器人向 Nginx 服务器发送的请求速率?

有很多机器人。Majestic 机器人就是其中之一。它有时会强制抓取网站的页面,即服务器有时会在 1 秒内发送 100 个请求。Majestic 机器人只是一个例子。我不想阻止某个机器人,有很多机器人,尝试检测它们是浪费时间。

我的问题是:如何限制某个机器人发送到 Nginx 服务器的 HTTP 请求的速率?例如,1 秒内只允许某个 IP 地址发出 10 个请求。此操作是否会消耗大量资源(因为应该检查 IP 地址并将其存储在某个地方)?

答案1

除了提及以下内容之外,我所做的任何详细阐述都是毫无意义的:

http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

相关内容