Назад | Перейти на главную страницу

Хранение имени пользователя в журналах nginx

Есть ли способ, которым имя пользователя или идентификатор пользователя могут быть сохранены в журналах nginx. Я попытался вставить $ remote_user в директиву log_format, но, похоже, это не сработало.

Да, это возможно. Однако, поскольку вы не используете базовую аутентификацию HTTP, вам понадобится ваше приложение, чтобы сообщить Nginx текущее имя пользователя. Добавьте заголовок ответа по строкам:

X-Username: nishant

Тогда в вашем log_format директива, используйте переменную $sent_http_x_username. Это поведение описано здесь: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER

Я также рекомендую удалить этот лишний заголовок из ответа перед его отправкой клиенту. Вы можете сделать это с помощью NginxHttpHeadersMoreModule.

more_clear_headers 'X-Username';