如何通过解析nginx日志文件自动拒绝ip地址

如何通过解析nginx日志文件自动拒绝ip地址,nginx,dos,php,Nginx,Dos,Php,我在cloudflare后面有4个Web服务器和一个负载均衡器,nginx是Web服务器,php fpm管理php页面。我不知道如何阻止一个简单的拒绝服务攻击 我可以使用nginx中的http_limit_req模块检测到这种攻击 但这根本不能阻止攻击,是的,这可以减轻攻击,但Web服务器会不断受到攻击,php fpm会达到80%,一分钟后网站就无法访问 我正在设法阻止这种请求 我知道如何用nginx阻止特定的ip地址或特定的useragent,但我想自动执行。我认为我不能用iptables阻

我在cloudflare后面有4个Web服务器和一个负载均衡器,nginx是Web服务器,php fpm管理php页面。我不知道如何阻止一个简单的拒绝服务攻击

我可以使用nginx中的http_limit_req模块检测到这种攻击

但这根本不能阻止攻击,是的,这可以减轻攻击,但Web服务器会不断受到攻击,php fpm会达到80%,一分钟后网站就无法访问

我正在设法阻止这种请求

我知道如何用nginx阻止特定的ip地址或特定的useragent,但我想自动执行。我认为我不能用iptables阻止ip,因为请求来自loadbalancer:(但我仍然能够用设置的\u real\u ip\u from和使用nginx的real\u ip\u头X-Forwarded-For检测正确的ip地址

我将日志文件(error.log)填入正确的ip地址,如您所见:

2012/03/27 18:34:02[错误]31234#0:*1283按区域“暂存”限制连接,客户端:XX.XX.XX.XXX,服务器:www.xxxxxxx.com,请求:“HEAD/it HTTP/1.1”,主机:“www.xxxxxxx.com”


有人有主意,可以教我如何自动阻止此ip?

为此使用fail2ban。它是一个用于许多不同服务的日志文件解析器,可以检测失败的登录等,然后阻止ip地址


关于

是的,我认为这是一个很好的解决方案,我正在尝试用以下提示设置fail2ban:我会让你知道:)谢谢,可以用CSF而不是fail2ban做同样的事情吗?