nginx保持locking状态

nginx保持locking状态。 我过去几天一直在使用DDOS。 这是一个大的POST洪水。 那么,GET和POST之间的混合。 GET似乎没有效果,我已经把一个页面放在login页面前面,这样用户在login之前必须填写一个validation码,以防止用户以前尝试login。 (他还在尝试,淹没我的login页面)。 现在他淹没了我的页面,validation了CAPTCHA,这是目前唯一能够影响到它的东西。 不过,我不确定为什么它会影响我的服务器。 它使Web服务器完全无法访问。 在validation页面的请求之间似乎有一个很大的延迟,所以我相信他正在做的只是告诉nginx他将发送POST数据,然后发送它非常缓慢,以保持连接打开。 有没有办法基本上超时的连接在这种情况下?

此外,现在这是一个头洪水,这似乎没有任何影响。 在我的terminal上观看所有这些连接。

编辑 :是的,现在我知道这是一个缓慢的HTTP请求攻击。 其中一些请求是30k字节只是为了login或提交validation码。 nginx需要20-300秒才能回复其中的一些。

编辑:为了扩大这一点,我相当肯定这是一个缓慢的后期洪水。

你有没有试过closuresnginx中的Keepalive ? 或至less调整参数。 缺省值更高。

keepalive_timeout 30 30; send_timeout 60; keepalive_requests 20; 

也可以尝试减慢速度

**也给一个限制的限制

 limit_req_zone $binary_remote_addr zone=blacklist:1m rate=60r/m;