Apache mod_reqtimeout不会丢失长时间的请求

我之前并不知道这个网站存在,所以请让我知道,如果我打破了一些论坛礼仪什么的。

为了保护自己免受slowloris型攻击,我们在我们的Apache 2.2.17安装(在Solaris上运行,MPM编译)上configuration了mod_reqtimeout模块。 mod_reqtimeoutconfiguration如下:

RequestReadTimeout header=10-20,MinRate=500 body=10-20,MinRate=500 

我们正在使用OWASP http_dos_cli工具进行testing,并且仍然能够在几秒钟内使网站无法访问。 在日志中,我们看到请求在20秒后被截断,然后被处理。 由于该URL指的是实际资源,所以返回一个200状态码。 这可以防止我们的mod_security规则设置为检测408状态码,收集基于IP的统计信息并阻止来自这个IP的进一步请求。

任何想法为什么mod_reqtimeout截断请求,而不是放弃它,并返回一个408?

我已经打开了一个错误报告,并收到确认HTTPD Core中的问题导致了以下问题:

  • 当检测到请求超时时,Apache并不总是返回408(各种情况)
  • 当URL对应于RedirectMatch指令时,Apache不会正确处理请求超时

更多细节在这里: https : //issues.apache.org/bugzilla/show_bug.cgi?id=51103

希望最终帮助别人。