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 雜湊的十六進制表示形式(例如,使用變數從 cookie 取得)。如果未指定此參數或未表示有效的 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 位元組)。