此页面版本:2016-06-08
ngx_http_session_log_module模块启用记录会话。
该模块为商业版。
示例配置
下面的配置根据请求客户端地址和“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_format
语法:session_log_format name string …
默认:session_log_format combined “…”
上下文:http
指定日志的输出格式。$body_bytes_send变量的值是聚合一个session的所有请求的值。其他的变量在会话第一个请求中可用。
session_log_zone
语法:session_log_zone path zone=name:size [format=format] [timeout=time] [id=id] [md5=md5]
默认:—
上下文:http
设置日志路径,并配置用于存储当期活动的会话的共享内存区域。
一个会话被认为是活跃的,只要上一次请求到现在没有超过指定的超时时间(默认是30秒)。当会话不再活动,会被写入到日志。
id参数标示了哪个请求映射到哪个会话。id参数是16进制的MD5哈希值(例如,从cookie中的变量获取)。如果参数没有指定,或不是一个正确的md5值,nginx会从md5参数中计算MD5哈希值,并用这个哈希创建一个新的会话。id和md5参数都可以包含变量。
format参数设置了session_log_format指令设置的日志格式的定制会话。如果format没有指定,预定义“combined”格式会使用。
session_log
语法:session_log name | off
默认:session_log off
上下文:http, server, location
启用指定的会话日志。特殊值off取消继承自上级配置中session_log指令。
内嵌变量
ngx_http_session_log_module模块支持两个内嵌变量:
$session_log_id
当前会话ID
$session_log_binary_id
当前会话ID的二进制形式(16字节)