nginxログにユーザー名を保存する


10

ユーザー名またはユーザーIDをnginxログに保存する方法はありますか?$ remote_userをlog_formatディレクティブに挿入してみましたが、機能していないようです。

回答:


10

はい、可能です。ただし、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 2014年

@nishantそれはあなたのコードに完全に依存します。応答ヘッダーにユーザー名を出力するために、何かを記述するか変更する必要があります。
Brad

Webアプリケーションはdjangoに基づいています。
nishant 2014年

@nishant Djangoで何も書いていないので具体的なアドバイスはできませんが、ミドルウェアをサポートしているようです。追加のヘッダーを追加するミドルウェアモジュールを作成します。
Brad
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.