看来从 Apache 2.2 升级到 2.4 改变了错误日志文件的格式。错误日志用于显示远程客户端 IP 地址。
Apache 2.2 错误日志:[Thu Aug 29 08:28:46 2019] [error] [client 50.57.61.20] message
Apache 2.4 错误日志:[Thu Aug 29 08:02:23.779174 2019] [:error] [pid 10036] message
幸运的是,Apache 2.4 添加了该ErrorLogFormat
指令。因此我指定了:
ErrorLogFormat "[%{u}t] [%-m:%l] [%a] %M"
但%a
格式字符串应该显示“请求的客户端 IP 地址和端口”是让我空白。
现在错误日志:[Thu Aug 29 11:13:13.281770 2019] [-:error] message
我的预期是:[Thu Aug 29 11:13:13.281770 2019] [-:error] [204.115.145.100] message
格式字符串客户端 IP 地址正确显示在访问日志中,该日志具有%h
“远程主机名”格式字符串。ErrorLogFormat 没有这样的格式字符串。
我们正在运行专用的 Rackspace CentOS 7.6.1810,Apache 2.4.6。
答案1
%a
当我们开始工作时更新 mod_wsgi从 3.4.18 到 4.6.2。感谢 WSM International 的 Fedor V.。