【问题标题】:Is there a way to get the content-length (response header) in apache logs?有没有办法在 apache 日志中获取内容长度(响应头)?
【发布时间】:2021-12-04 05:19:14
【问题描述】:

我希望 Apache 显示响应标头长度(此处为 90)。 相反,它显示了一些同样依赖于客户端的“奇怪”值。

tail /var/log/apache2/access.log

xx.xx.xx.xx - - [16/Oct/2021:11:07:44 +0000] "POST /api/user HTTP/1.1" 200 796 "https://yy/login/" " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 OPR/79.0.4143.72"

检查元素

HTTP/1.1 200 正常 日期:2021 年 10 月 16 日星期六 11:07:44 GMT 服务器:Apache/2.4.41 (Ubuntu) 到期:1981 年 11 月 19 日星期四 08:52:00 GMT 缓存控制:无存储、无缓存、必须重新验证 Pragma:无缓存 变化:接受编码 内容编码:gzip 内容长度:90 保活:超时=5,最大值=100 连接:保持活动 内容类型:文本/html;字符集=UTF-8

【问题讨论】:

  • 通过“一些'奇怪'的值”,你指的是日志中的796吗?
  • 是的。而这个值取决于客户端浏览器。这就是为什么我想在 Apache 日志中包含“90”(用于后续的 fail2ban 操作)。
  • 在那里找到了更多信息。事实上,Apache (Ubuntu) 报告的值具有误导性:trustwave.com/en-us/resources/blogs/spiderlabs-blog/…。我想改变日志格式。

标签: apache authentication http-headers


【解决方案1】:

找到解决办法:

/etc/apache2/apache2.conf 中,LogFormat 指令必须更改如下:%b 而不是 %O。

现在access.log 按预期报告了 90。

这也在这里讨论(评论来自 Jeff Pucket):https://askubuntu.com/questions/264042/what-is-the-default-apache2-log-format-and-where-is-defined-such-default,看起来这是特定于 Ubuntu 的。

【讨论】:

  • 感谢您的反馈。好奇,这显然是changed in Ubuntu 16.04 - 我想知道为什么他们会覆盖 Apache 的默认设置,而不是创建额外的日志格式?感觉这违反了最佳实践,因为它似乎是一个破坏性的变化?
猜你喜欢
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多