Збереження імені користувача у журналах nginx


10

Чи існує спосіб збереження імені користувача або ідентифікатора користувача у журналах nginx. Я спробував вставити $ remote_user в директиву log_format, але, схоже, це не працює.

Відповіді:


11

Так, це можливо. Однак, оскільки ви не використовуєте базовий протокол 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';

Скажіть, будь ласка, як додати заголовок відповіді?
нишант

@nishant Це повністю залежить від вашого коду. Вам доведеться щось написати або змінити те, що вам потрібно вивести ім'я користувача в заголовок відповіді.
Бред

Веб-додаток базується на django.
нішант

@nishant Я нічого не писав з Django, тому не можу дати тобі конкретні поради, але схоже, що він підтримує проміжне програмне забезпечення. Я б написав модуль середнього програмного забезпечення, який піклується про додавання додаткового заголовка.
Бред
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.