定制 Apache 行为的正确方法

定制 Apache 行为的正确方法

我想对我的 Apache 服务器做一些定制,但在这个领域我不是很有经验。

我想弄清楚的第一件事是如何添加自定义配置,以便在 apache 升级或发生其他情况时它不会中断。我apache.conf在目录中创建了一个文件home,并计划将其包含在内/etc/apache2/apache2.conf,这是一个好主意吗?

在我弄清楚如何包含我的自定义配置之后,我想将 apache 日志(访问和错误)制作成基于子域的文件,例如,如果有请求到来则site.domain.com必须登录/var/log/apache2/site.domain.com-access.log

我找不到任何关于这方面的内容,但我在想象类似

CustomLog ${APACHE_LOG_DIR}/${HTTP_HOST}-access.log combined

${HTTP_HOST]-access.log但当我这样做时,我在目录中看到了文字文件。

此外,我还想避免记录来自两个 IP 或以breaker=\d+(regex) 结尾的请求。为此,我想我必须使用IfandSetEnv子句,但我不知道如何做到这一点以及如何将它们结合起来。

<If "${REMOTE_ADDR} 127.0.0.1 || ${REMOTE_ADDR} 192.168.1.1 || ${REQUEST_URI} breaker=\d+$">
  SetEnv nolog
</If>

CustomLog ${APACHE_LOG_DIR}/${HTTP_HOST}-access.log combined env=!nolog

我无法通过 apache 文档找到解决方法,请帮忙!

相关内容