ngx_http_core_module模块支持内嵌变量与Apache服务器变量名称一致。首先,这些变量体现请求头域,如$http_user_agent,$http_cookie等。还有其他的变量:
$arg_name
在请求中name参数
$binary_remote_addr
客户端地址的二进制形式,值的长度总是4个字节
$body_bytes_sent
发送到客户端的字节数,不算响应头。这个变量与Apache的mod_log_config模块的“%B”参数兼容。
$bytes_sent
发送到带客户端的字节数(1.3.8+,1.2.5+)
$connection
连接序列号(1.3.8+,1.2.5+)
$connection_requests
当前连接中的请求数(1.3.8+,1.2.5+)
$content_length
请求头中的“Content-Length”
$content_type
请求头中的“Content-Type”
$document_root
当前请求的root或alias指令的值
$host
按此优先级:请求中的Host字段,或服务器名称匹配请求的值
$http_name
任意请求头域,变量名的最后一部分name是将域转为小写并将“-”替换为“_”
$https
如果通过SSL连接则值为“on”,否则是空字符串
$is_args
如果请求有参数则值为“?”,否则是空字符串
$msec
当前时间的秒数,精确到毫秒(1.3.9+, 1.2.6+)
$pipe
如果请求是流水线(pipelined)值为“p”,否则为“.”(1.3.12+, 1.2.7+)
$proxy_protocol_addr
代理协议头中的客户端地址,如果没有则为空字符串(1.5.12+)
代理协议必须提前在listen指令的proxy_protocol参数开启。
$proxy_protocol_port
代理协议头中的客户端端口号,如果没有则为空字符串(1.11.0+)
代理协议必须提前在listen指令的proxy_protocol参数开启。
$realpath_root
将一个绝对路径与符号连接解析成相对路径
$request_body_file
带有请求内容的临时文件名称
$request_completion
如果请求完成了,值为“OK”,否则为空字符串
$request_filename
当前请求的文件路径,基于root和alias指令与请求URI
$request_id
唯一的请求标识符,从16个随机字节生成,为16进制(1.11.0)
$request_length
请求长度(包括请求行、头部、正文内容)(1.3.12+, 1.2.7+)
$request_method
请求方法,通常是“GET”或“POST”
$request_time
处理请求的时间秒数,精确到毫秒(1.3.9+, 1.2.6+)
$sent_http_name
任意响应头域,最后一部分name将名称转为小写并将“-”替换为“_”
$server_addr
服务器接收请求的地址
计算该变量的值需要一次系统调用,要避免系统调用,listen指令必须定义地址并使用bind参数
$server_protocol
请求协议,通常是“HTTP/1.0”,“HTTP/1.1”或“HTTP/2.0”
$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space
客户端TCP连接的信息,在支持TCP_INFO socket选项的系统中可用
$time_iso8601
ISO 8601格式的本地时间(1.3.12+, 1.2.7+)