【问题标题】:userid is not printed in Apache access logsApache 访问日志中未打印用户 ID
【发布时间】:2015-06-11 21:32:34
【问题描述】:

我有一个生产设置

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

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

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

以下是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*** 

我还需要做什么才能“使用户 ID 可用于 Apache 实例”。

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

【问题讨论】:

    标签: apache logging userid


    【解决方案1】:

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

    您可以使用 Apache 通过 X-Forwarded-For 标头记录客户端 IP 地址。

    标准的 LogFormat 指令: LogFormat "%h %l %u %t "%r" %>s %b" common

    要添加客户端源 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

    【讨论】:

    • 嗨,感谢您的回复,但即使对于最后一个选项,它也没有提供任何输出 LogFormat "%h %V %u %t \"%r\" %s %b %{X- Forwarded-For}i" testFormat 192.168.44.53 localhost - [16/Jun/2015:22:26:20 +0200] "HEAD / HTTP/1.1" 200 200 - -
    猜你喜欢
    • 1970-01-01
    • 2020-10-01
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多