Apache日志请求端口号

我有两台虚拟主机,用于在Apache / 2.4.18(Ubuntu)中configuration相同的站点,一台用于http端口80,另一台用于https端口443。

目前我让他们生成两个单独的日志文件: access.http.logaccess.ssl.log但是在审计过程中不得不在两者之间来回翻转是非常烦人的。 我最初有两个主机login到access.log相同的文件,但我无法区分这两个时排除stream量请求。

我想再次将它们logging到一个文件中,但是我无法在文档中find如何logging请求的端口号,这样我就可以将虚拟主机分开。 这可能吗?

我注意到一个sl way的方式是该协议logging在http引用( https://localhost/referringpage.php ),但这是不够的,因为redirect和链接可能来自任何地方 – 我只是想logging的端口当前请求。

您将需要定义一个自定义日志模式( http://httpd.apache.org/docs/current/mod/mod_log_config.html ),其中可以包含使用%{VARNAME}e表示法的环境variables的值。 使用mod_ssl提供的variables( https://httpd.apache.org/docs/2.4/mod/mod_ssl.html ),您至less可以包含类似于%{HTTPS}e ,这将显示哪些请求是通过SSL / TLS与否。

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

一旦你有了这些,把它放到ELK栈中,就可以创build一些信息化的仪表盘。