Gibt es eine Möglichkeit, wie Benutzername oder Benutzer-ID in Nginx-Protokollen gespeichert werden können? Ich habe versucht, $ remote_user in die Direktive log_format einzufügen, aber es scheint nicht zu funktionieren.
10
Ja, das ist möglich. Da Sie jedoch keine HTTP-Basisauthentifizierung verwenden, muss Ihre Anwendung Nginx den aktuellen Benutzernamen mitteilen. Fügen Sie einen Antwortheader hinzu:
X-Username: nishant
log_format
Verwenden Sie dann in Ihrer Direktive die Variable $sent_http_x_username
. Dieses Verhalten ist hier dokumentiert: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER
Ich empfehle außerdem, diesen zusätzlichen Header aus der Antwort zu entfernen, bevor Sie ihn an den Client senden. Sie können dies mit dem NginxHttpHeadersMoreModule tun .
more_clear_headers 'X-Username';