重定向到https版本的站点的Apache站点未应用modsecurity规则

问题描述

我有一个具有modsecurity的https网站。

它还具有一个虚拟主机,该主机可以侦听http端口并重定向到https网站,并遵循以下简单规则:

RewriteEngine On
RewriteRule ^(.*)$ https://${server_name}$1 [last,redirect=308]

modsecurity似乎在http站点上不起作用,因此,例如,脚本小子对PHP漏洞的所有请求都将被重定向。有没有一种方法可以配置Apache,使其在重定向之前应用modsecurity规则?

解决方法

此问题已通过更改规则的阶段来解决,例如

SecRule REQUEST_URI "\.(conf|ini)\b" "id:2000403,phase:1,log,deny,status:403"

另请参阅https://serverfault.com/questions/930676/modsecurity-secrule-based-on-original-browser-url-not-internal-rewrite-index-p