哪个 HTTP 标头映射到 Apache 的 %u 日志格式令牌?

哪个 HTTP 标头映射到 Apache 的 %u 日志格式令牌?

我们有一个httpd.conf包含以下日志格式并使用%u令牌来记录远程用户:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access.log.%Y%m%d 86400" combined

不幸的是,访问日志中从未出现过用户标识符。每行日志中的第三个标记都只包含一个连字符,而不是用户,如下所示:

192.168.15.124 - - [20/Apr/2018:12:06:49 +0200] "GET /some/resource" ...

%u有人知道Apache 如何设置的值吗?是否有特定的 HTTP 标头%u被替换?我明确设置了一些标头,例如X-Remote-UserRemote-User或者只是User,但我一直只看到连字符...

任何关于 Apache 如何设置的线索都%u将受到高度赞赏。

答案1

Authorization此字段对应于HTTP 标头中使用的用户名基本 HTTP 身份验证方案

答案2

生成这些空用户的 Apache 实例是否具有有效的用户提供程序,例如https://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html#authbasicprovider? 我认为,如果没有它,Apache 就无法知道如何在日志中填充该字段。

相关内容