Memorizzazione del nome utente nei registri nginx


10

Esiste un modo in cui il nome utente o l'id utente può essere archiviato nei registri nginx. Ho provato a inserire $ remote_user nella direttiva log_format ma non sembra funzionare.

Risposte:


11

Sì, questo è possibile. Tuttavia, poiché non stai usando l'autenticazione HTTP di base, avrai bisogno della tua applicazione per dire a Nginx qual è il nome utente corrente. Aggiungi un'intestazione di risposta lungo le righe di:

X-Username: nishant

Quindi, nella log_formatdirettiva, utilizzare la variabile $sent_http_x_username. Questo comportamento è documentato qui: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER

Consiglio inoltre di rimuovere questa intestazione aggiuntiva dalla risposta prima di inviarla al client. Puoi farlo con NginxHttpHeadersMoreModule .

more_clear_headers 'X-Username';

Potete per favore dirmi come aggiungere un'intestazione di risposta?
nishant,

@nishant Dipende interamente dal tuo codice. Dovrai scrivere qualcosa o modificare ciò che devi emettere il nome utente nell'intestazione della risposta.
Brad

L'applicazione Web si basa su Django.
nishant,

@nishant Non ho scritto nulla con Django, quindi non posso darti consigli specifici, ma sembra che supporti il ​​middleware. Scriverei un modulo middleware che si occupa di aggiungere l'intestazione aggiuntiva.
Brad
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.