nginx 一直处于锁定状态

nginx 一直处于锁定状态

nginx 一直锁定。过去几天我一直受到 DDOS 攻击。这是一次大规模的 POST 洪水攻击。好吧,是 GET 和 POST 的混合。GET 似乎不太有效,我在登录页面前面放了一个页面,以便用户在登录之前必须填写 CAPTCHA,以防止用户之前尝试的登录洪水攻击。(他仍在尝试,淹没了我的两个登录页面)。现在他淹没了我的验证 CAPTCHA 页面,这是现在唯一能影响它的东西。不过,我不确定它为什么对我的服务器影响这么大。它使 Web 服务器完全无法访问。对验证页面的请求之间似乎有很大的延迟,所以我相信他所做的只是告诉 nginx 他将发送 POST 数据,然后非常缓慢地发送它以保持连接打开。在这种情况下,有没有办法基本上使连接超时?

此外,现在出现了 HEAD 洪水,但似乎没有任何效果。在我的终端上看到所有这些连接飞过。

编辑:是的,现在我知道这是一次缓慢的 HTTP 请求攻击。其中一些请求仅用于登录或提交验证码就达到 30k 字节。nginx 需要 20-300 秒才能回复其中一些请求。

编辑:进一步说,我相当确定这是一次缓慢的 POST 洪流。

答案1

您是否尝试过关闭保持连接在 nginx 中?或者至少调整参数。默认值较高。

keepalive_timeout       30 30;
send_timeout            60; 
keepalive_requests      20;

也可以尝试放慢速度

** 也可以尝试限制限制

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

相关内容