将用户名存储在 nginx 日志中

将用户名存储在 nginx 日志中

有没有办法将用户名或用户 ID 存储在 nginx 日志中。我尝试在 log_format 指令中插入 $remote_user,但似乎不起作用。

答案1

是的,这是可能的。但是,由于您没有使用 HTTP 基本身份验证,因此您需要应用程序告诉 Nginx 当前用户名是什么。添加如下响应标头:

X-Username: nishant

然后在您的log_format指令中,使用变量$sent_http_x_username。此行为记录在此处: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER

我还建议在将响应发送给客户端之前删除这个额外的标头。您可以使用NginxHttpHeadersMore模块

more_clear_headers 'X-Username';

相关内容