ngx_http_session_log_module
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;
}
Directives
Syntax: session_log name | off;
Default: session_log off;
Context: http, server, location
지정된 세션 로그의 사용을 활성화합니다. 특수 값 off는 이전 구성 수준에서 상속된 session_log 명령의 효과를 취소합니다.
Syntax: session_log_format name string ...;
Default: session_log_format combined "...";
Context: http
로그의 출력 형식을 지정합니다. $body_bytes_sent 변수의 값이 세션의 모든 요청 전체에서 집계됩니다. 로깅에 대해 사용 가능한 다른 모든 변수의 값은 세션의 첫 번째 요청에 해당합니다.
Syntax: session_log_zone path zone=name:size [format=format] [timeout=time] [id=id] [md5=md5] ;
Default: —
Context: http
로그 파일에 대한 경로를 설정하고 현재 활성 세션을 저장하는 데 사용되는 공유 메모리 영역을 구성합니다.
세션은 세션의 마지막 요청이 지정된 시간 제한(기본적으로 30초)을 초과하지 않기 때문에 경과된 시간 동안 활성으로 간주됩니다. 세션이 더 이상 활성이 아니면 로그에 기록됩니다.
id 매개변수는 요청이 매핑되는 세션을 식별합니다. id 매개변수는 MD5 해시의 16진수 표현으로 설정됩니다(예를 들어, 변수를 사용하여 쿠키에서 얻어짐). 매개변수가 지정되지 않거나 유효한 MD5 해시를 표현하지 않는 경우 nginx는 md5 매개변수의 값에서 MD5 해시를 계산하고 이 해시를 사용하여 새 세션을 생성합니다. id와 md5 매개변수 모두 변수를 포함할 수 있습니다.
형식 매개변수는 session_log_format 명령으로 구성되는 맞춤형 세션 로그 형식을 설정합니다. 형식이 지정되지 않으면 미리 정의된 “결합된” 형식이 사용됩니다.
임베디드 변수
ngx_http_session_log_module 모듈은 다음과 같은 2개의 포함된 변수를 지원합니다.
$session_log_id
현재 세션 ID;
$session_log_binary_id
이진 형식의 현재 세션 ID(16바이트).