为什么 nginx 需要这么长时间才能回复?

为什么 nginx 需要这么长时间才能回复?

我现在正遭受 DDOS 攻击,攻击者让僵尸向我的一个页面发送 POST 请求。起初,nginx 只在几秒钟内回复,但过了一会儿,它开始加速;nginx 需要 10 分钟才能完成对这些请求的响应!但为什么呢?我不明白为什么。我甚至不明白为什么我无法阻止它。

我已经设置好了这些:

    client_header_timeout 5;
    client_body_timeout 5;
    keepalive_timeout 5 30;
    send_timeout 5;

那么 5 秒后不应该超时吗?为什么会持续 600 秒或更长时间?有没有办法可以确定这是哪种类型的攻击?缓慢的标头?缓慢的 POST?我如何检测这种攻击是什么以及如何阻止它?

还应该注意的是,连接要通过负载平衡器和 Squid Cache 反向代理,因此我读取客户端真实 IP 的唯一方法是通过特定的 HTTP 标头

答案1

这样弄清楚会很困难;我建议对其中一个 DDoS 源进行完整的数据包 tcpdump,然后在 wireshark 或其他用于检查捕获数据的工具中分析他在做什么。

相关内容