Apache 日志请求端口号

Apache 日志请求端口号

我在 Apache/2.4.18(Ubuntu)中配置了两个虚拟主机来服务同一个站点,一个用于 http 端口 80,另一个用于 https 端口 443。

目前,我让它们生成两个单独的日志文件:access.http.log和,access.ssl.log但在审计期间必须在两者之间来回切换,这很烦人。我最初让两个主机都记录到同一个文件中,access.log但在排除流量请求故障时,我无法区分这两个文件。

我想再次将它们记录到一个文件中,但我找不到文档如何记录请求的端口号,以便我可以在线区分虚拟主机。这可能吗?

我注意到的一个粗心大意的方法是将协议记录在 http referrer 中(https://localhost/referringpage.php),但这还不够,因为重定向和链接可能来自任何地方——我只想记录当前请求的端口。

答案1

您需要定义自定义日志模式(http://httpd.apache.org/docs/current/mod/mod_log_config.html) 可以使用表示法包含环境变量的值%{VARNAME}e。使用变量mod_ssl可使 (https://httpd.apache.org/docs/2.4/mod/mod_ssl.html)你至少可以包含一些类似这样的内容%{HTTPS}e,显示哪些请求是通过 SSL/TLS 进行的,哪些不是。

我个人倾向于添加其中一些变量,以便我可以审核客户端使用哪些密码、协议版本等来影响调整决策。

一旦您拥有了它,按照评论中的建议将其放入 ELK 堆栈中,您就可以创建一些信息仪表板。

相关内容