在 *.domain.com 场景中捕获询问的主机名的日志格式?

在 *.domain.com 场景中捕获询问的主机名的日志格式?

我有一个带有 *.example.com 的 Apache 2.2 VirtualHost ServerName。这是我的场景所必需的,所有子域都由同一个站点处理。

现在,在访问日志中,我试图找出一个LogFormat变量(或方法),让我记录要求域名。如果我使用该vhost_combined格式,我的访问日志中得到的只是 *.example.com 条目,而不是实际的 vhost要求

有人知道怎么做吗?

答案1

您可以使用%{headername}i将任何标头的内容放入 LogFormat 指令中,这样%{Host}i就会为您提供客户端在请求的 Host: 标头中放入的内容,从而为您提供您想要的内容。

请参阅文档http://httpd.apache.org/docs/2.2/mod/mod_log_config.html

答案2

当您使用例如vhost_combinedLogformat 时:

CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined

您可以vhost_combined通过添加进行调整%{Host}i,例如

LogFormat "%v:%p %h %l %u %t %{Host}i \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined

相关内容