在 Nginx 的访问日志中显示从 auth_request 检索到的远程用户
Display remote user retrieved from auth_request in access logs in Nginx
我在nginx中有如下配置:
location /api/ {
auth_request /auth/request/;
auth_request_set $user $upstream_http_remote_user;
proxy_set_header Remote-User $user;
proxy_pass http://...;
}
我正在设置 Remote-User
字段,所以我希望在访问日志中会出现该值,但只出现 -
,表明该值不存在。在那里代理的服务器中,我可以访问 header Remote-User
,所以我知道该值设置正确,但无法在访问日志中显示它。
我想访问日志可能是在授权请求之前生成的。
有没有办法通过这种配置获取访问日志中的 Remote-User
?
在你nginx.conf你应该有类似
的东西
log_format main '$remote_addr - $remote_user [$time_local]
"$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
用您的 $user
变量替换 $remote_user
我在nginx中有如下配置:
location /api/ {
auth_request /auth/request/;
auth_request_set $user $upstream_http_remote_user;
proxy_set_header Remote-User $user;
proxy_pass http://...;
}
我正在设置 Remote-User
字段,所以我希望在访问日志中会出现该值,但只出现 -
,表明该值不存在。在那里代理的服务器中,我可以访问 header Remote-User
,所以我知道该值设置正确,但无法在访问日志中显示它。
我想访问日志可能是在授权请求之前生成的。
有没有办法通过这种配置获取访问日志中的 Remote-User
?
在你nginx.conf你应该有类似
的东西log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
用您的 $user
变量替换 $remote_user