我通过在虚拟主机文件中添加配置,在 Apache 中为我的 Drupal 9 网站设置了 mod_evasive,如下所示
<IfModule mod_evasive20.c>
DOSSiteCount 50
DOSSiteInterval 1
DOSPageCount 10
DOSPageInterval 1
DOSBlockingPeriod 120
</IfModule>
这对于应用程序中的大多数/所有页面都非常有效,除了 PHP status 页面 /admin/reports/status/php。对于此页面,它似乎忽略了上述配置并回退到默认值。我在每次后续页面刷新时都会收到 403 错误
无法找到根本原因,但这里的解决方案是将 mod_evasive 配置放在根 httpd.conf 文件中。
由于某种未知的原因,PHP页面只是忽略了虚拟主机中提到的本地值,而只依赖于主值。