userid 未打印在 Apache 访问日志中

userid is not printed in Apache access logs

我的生产设置为

  webSEAL --> F5 --> 2 Apache --- 2 weblogic servers.

对于每个请求,webSEAL 日志都会打印已登录的用户 ID,而 weblogic 位于基础设施链的最后,也有 weblogic http access.log 中可用的用户 id(不是应用程序日志,而是 weblogic 内部访问日志),但 Apache 中没有显示任何内容。

即使我在 apache 中添加了新的日志记录配置,它也不会在 apache 访问中打印 user_id logs.It 只是打印一个破折号 -(信息不可用)。

下面是httpd.conf中添加的配置和输出

LogFormat "%h %V %u %t \"%r\" %>s" test
CustomLog logs/testLogs testFormat

***192.168.44.53 localhost - [11/Jun/2015:23:21:39 +0200] "HEAD / HTTP/1.1" 200*** 

我还需要做什么才能 "make user-id available to Apache instance"。

这是我在我的环境中使用的 Apache 2.0X 的参考。 http://httpd.apache.org/docs/2.0/logs.html

如果请求使用 HTTP 基本或摘要身份验证进行身份验证,%u 模式代码将记录远程用户名。在示例日志条目中,此值为“-”,表示请求未通过 HTTP 基本或摘要身份验证进行身份验证。

您可以使用 Apache 使用 X-Forwarded-For headers 记录客户端 IP 地址。

标准的 LogFormat 指令: LogFormat “%h %l %u %t “%r” %>s %b” 常见

要添加客户端源 IP 地址,只需将其更改为: LogFormat “%h %l %u %t “%r” %>s %b %{X-Forwarded-For}i” common

标准日志: 192.168.2.210 – – [09/Feb/2011:09:59:31 +0000] “GET / HTTP/1.1″ 200 44

已添加客户端 IP: 192.168.2.210 – – [09/Feb/2011:10:00:16 +0000] “GET / HTTP/1.1″ 200 44 192.168.2.7