在 NGINX 中使用 GET 请求自动将 Bot IP 列入黑名单

Auto Blacklist Bot IPs using GET requests in NGINX

我是 NGINX 的新手,如果这个问题看起来很愚蠢,我很抱歉,但这是我的情况。

我正在遭受 DDoS 第 7 层攻击。我想将所有发出 GET 请求的 IP 列入黑名单。 24 小时内有超过 1 000 000 个唯一 IP 进入我的网站(根据我的访问日志),这将无法一一拒绝它们。

到目前为止,我尝试了限制请求速率、限制连接数、关闭慢速连接,但遗憾的是这对我没有帮助。 Nginx 仍然报 500 错误,并且不时报错 503 服务不可用。

所以,我的目标是拒绝所有发出 GET 请求的 IP,但这必须是一个自动过程,否则这将是一项不可能完成的工作。

问题发生是因为字符串:

error_page 404 = /index.php?$query_string;

这个字符串的意思是,如果你return 404,执行php代码。尝试评论这个字符串。