我有4个webserver在cloudflare和一个loadbalancer后面,nginx是webserver,php-fpm管理php页面。我不知道如何阻止一个简单的dos攻击...
我可以使用nginx中的http_limit_req模块来检测此攻击 http://wiki.nginx.org/HttpLimitReqModule
但这根本不会阻止攻击,是的,这可以缓解但是网络服务器再次受到攻击,并且php-fpm会达到80%,并且在一分钟内网站无法访问。
我正试图找到阻止此类请求的方法。
我知道如何使用nginx阻止某些ip地址或某些useragent,但我想自动执行此操作。我认为我无法使用iptables来阻止ip,因为请求来自loadbalancer :(但我仍然可以使用set_real_ip_from和real_ip_header X-Forwarded-for nginx来检测正确的ip地址。
我的日志文件(error.log)中填充了正确的IP地址,如您所见:
2012/03/27 18:34:02 [错误] 31234#0:* 1283通过区域“staging”限制连接,客户端:XX.XX.XX.XXX,服务器:www.xxxxxxx.com,请求: “HEAD / it HTTP / 1.1”,主持人:“www.xxxxxxx.com”
有人有想法,可以教我如何自动阻止这个ip?