Apache2 日志中的 ServerName
ServerName in Apache2 logs
我 运行 apache2.4 在我的 Ubuntu 16.04 机器上。
我在 /etc/apache2/sites-available 中设置了两个 Document root,每个都有不同的 ServerName。无论如何也可以配置日志以捕获 ServerName,因为我想知道发出请求或记录 DocumentRoot。
<VirtualHost *:80>
ServerName www.first.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/first
LogFormat "%{Host}i%U%q" combined
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我已经在同一个 Ubuntu 框中将 www.first.com 设置为 127.0.0.1,并且我正在尝试从同一个框访问 www.first.com。 access.log 仍然没有显示 www.first.com。
有什么想法吗?
我从 Custom Log Formats 章节中了解到,您需要 %v
格式字符串:
%v The canonical ServerName of the server serving the request.
这意味着像这样的虚拟主机:
ServerName example.com
ServerAlias example.net
ServerAlias example.org
...无论入口点如何,总是记录为 example.com
。
另外,标准的combined
昵称是这样的:
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
您当然可以编辑它,但这有点令人困惑。您可能想要分配一个不同的名称,如 LogFormat 示例中所示:
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
我 运行 apache2.4 在我的 Ubuntu 16.04 机器上。 我在 /etc/apache2/sites-available 中设置了两个 Document root,每个都有不同的 ServerName。无论如何也可以配置日志以捕获 ServerName,因为我想知道发出请求或记录 DocumentRoot。
<VirtualHost *:80>
ServerName www.first.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/first
LogFormat "%{Host}i%U%q" combined
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我已经在同一个 Ubuntu 框中将 www.first.com 设置为 127.0.0.1,并且我正在尝试从同一个框访问 www.first.com。 access.log 仍然没有显示 www.first.com。 有什么想法吗?
我从 Custom Log Formats 章节中了解到,您需要 %v
格式字符串:
%v The canonical ServerName of the server serving the request.
这意味着像这样的虚拟主机:
ServerName example.com
ServerAlias example.net
ServerAlias example.org
...无论入口点如何,总是记录为 example.com
。
另外,标准的combined
昵称是这样的:
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
您当然可以编辑它,但这有点令人困惑。您可能想要分配一个不同的名称,如 LogFormat 示例中所示:
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common