ngx_http_session_log_module モジュール
設定例 ディレクティブ session_log session_log_format session_log_zone 埋め込み変数 |
ngx_http_session_log_module
モジュールは、個々のHTTPリクエストではなくセッションの記録(つまり、複数のHTTPリクエストを統合する)を有効にします。
このモジュールは商用許可の一部として利用可能です。
設定例
次の設定は、セッションログを設定し、リクエストをクライアントのアドレスと"User-Agent"リクエストヘッダフィールドに応じてセッションに写像します:
session_log_zone /path/to/log format=combined zone=one:1m timeout=30s md5=$binary_remote_addr$http_user_agent; location /media/ { session_log one; }
ディレクティブ
構文: |
session_log |
---|---|
デフォルト: |
session_log off; |
コンテキスト: |
http , server , location |
指定したセッションログの利用を有効にします。特別な値 off
は上の設定レベルから受け継いだsession_log
ディレクティブの影響をキャンセルします。
構文: |
session_log_format
|
---|---|
デフォルト: |
session_log_format combined "..."; |
コンテキスト: |
http |
ログの出力フォーマットを設定する。$body_bytes_sent
変数の値は、全てのリクエストに渡ってセッションに統合されます。ログに利用可能な他の全ての変数の値は、セッション内で最初のリクエストに対応します。
構文: |
session_log_zone
|
---|---|
デフォルト: | - |
コンテキスト: |
http |
ログファイルへのパスと現在のアクティブなセッションを保持するために使われる共有メモリの領域を設定します。
セッションの最後のリクエストからの経過時間が指定された timeout
(デフォルトでは30秒)を超えない限り、セッションはアクティブだと見なされます。一度セッションがアクティブでなくなると、それはログに書き込まれます。
id
パラメータはどのリクエストがセッションに写像されたかを識別します。id
パラメータはMD5ハッシュの16進数表現で設定されます(例えば、クッキーから変数を使って取得します)。このパラメータが指定されないか、有効なMD5ハッシュの表現では無い場合、nginxはmd5
パラメータの値からMD5ハッシュを計算し、このハッシュを使って新しいセッションを作成します。id
とmd5
の両方のパラメータとも、変数を含むことができます。
format
パラメータはsession_log_format ディレクティブで設定される独自のセッションログ書式を設定します。format
が指定されない場合は、事前に定義された"combined
"が使われます。
埋め込み変数
ngx_http_session_log_module
モジュールは二つの埋め込み変数をサポートします:
$session_log_id
- 現在のセッションID;
$session_log_binary_id
- 現在のセッションIDのバイナリ形式(16バイト)