特定于Apache vhost的日志logging

我有以下apache设置(在conf.d/owasp-modsecurity.conf ):

 SecAuditLog "/var/www/vhosts/${lowercase:%{SERVER_NAME}}/statistics/logs/modsec_audit.log" 

当我做httpd -t我得到以下错误:

/etc/httpd/conf.d/owasp-modsecurity.conf第15行的语法错误:ModSecurity:无法打开审计日志文件:/ var / www / vhosts / $ {小写:%{SERVER_NAME}} / statistics /日志/ modsec_audit.log

我的意图应该是相当明显的。 我想mod_security审计日志条目最终在特定于虚拟主机的文件。 这已经发生在常规的访问和错误日​​志(尽pipe我不知道它是如何完成的)。

为了logging,我也尝试了盲目的下列项目,没有工作: $HOSTNAME ${SERVER_NAME} $SERVER_NAME$HOST

一秒钟,但这些都是环境variables…应该不是有东西来获得Apache内部variables?

相关链接

  • https://stackoverflow.com/questions/4684655/is-it-possible-to-use-variables-in-httpd-conf
  • 每个用户的虚拟主机日志

尝试将SecAuditLog条目置于每个虚拟主机的设置中。

像这样的东西(安装程序可以看起来有点不同,但这是一个基本的设置)。 你也可以检查你的其他日志条目(CustomLog,ErrorLog等),以便插入可能的通配符。

 domain1.conf ============ <VirtualHost *:80> ServerAdmin [email protected] ServerName www.domain1.com SecAuditLog "/var/www/vhosts/domain1/statistics/logs/modsec_audit.log" # lots of more setting goes here # ... </VirtualHost> domain2.conf ============ <VirtualHost *:80> ServerAdmin [email protected] ServerName www.domain2.com SecAuditLog "/var/www/vhosts/domain2/statistics/logs/modsec_audit.log" # lots of more setting goes here # ... </VirtualHost>