在 NGINX 中使用动态列表按 IP 阻止客户端

在 NGINX 中使用动态列表按 IP 阻止客户端

我有一个使用 nginx 作为前端服务器的服务。一些机器人不断对 /login 页面进行暴力破解,这严重降低了我的服务器效率。

我想要做的是计算登录失败的次数(在 PHP 中),然后更新 IP 黑名单,然后使用此列表通过 IP 禁止客户端仅访问 /login 页面。(这是为了避免偶尔禁止“好”爬虫,这些爬虫即使在登录页面上被“禁止”,也能读取网站的其他页面)。

如何实现nginx禁止动态IP列表?

答案1

您想要做的基本上是 Fail2ban。

https://www.fail2ban.org/

在您的 PHP 脚本中,您可以记录登录尝试,然后使用 Fail2ban 对其进行解析和处理。

相关内容