Apache2 日志中的服务器名称
Posted
技术标签:
【中文标题】Apache2 日志中的服务器名称【英文标题】:ServerName in Apache2 logs 【发布时间】:2018-09-03 14:24:14 【问题描述】:我在我的 Ubuntu 16.04 机器上运行 apache2.4。 我在 /etc/apache2/sites-available 中设置了两个 Document root,每个都有不同的 ServerName。无论如何配置日志以捕获 ServerName,因为我想知道发出请求或记录 DocumentRoot。
<VirtualHost *:80>
ServerName www.first.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/first
LogFormat "%Hosti%U%q" combined
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
我已在同一个 Ubunutu 框中将 www.first.com 设置为 127.0.0.1,并且我正在尝试从同一个框访问 www.first.com。 access.log 仍然没有显示 www.first.com。 有什么想法吗?
【问题讨论】:
你需要两个虚拟主机登录到同一个文件吗? 【参考方案1】:我从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 \"%Refereri\" \"%User-agenti\""
您当然可以编辑它,但这有点令人困惑。您可能想要分配一个不同的名称,如 LogFormat 示例中所示:
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
【讨论】:
以上是关于Apache2 日志中的服务器名称的主要内容,如果未能解决你的问题,请参考以下文章
无法使用端口 443 设置 https 站点。rsa 服务器证书公用名 (cn) 与 SSl 错误日志中的服务器名称不匹配
NameError:名称“TypeError”未在 Apache 日志中定义