OpenResty Edge 的访问日志变量
HTTP 变量
args
: 请求行中的参数。realip_remote_addr
: 原始客户端地址。realip_remote_port
: 原始客户端端口。binary_remote_addr
: 以二进制形式表示的客户端地址,值的长度对于 IPv4 地址始终为 4 字节,对于 IPv6 地址始终为 16 字节。body_bytes_sent
: 发送到客户端的字节数,不包括响应头。bytes_sent
: 发送给客户端的字节数。total_bytes
: 请求体和响应体的字节数之和。connection
: 连接序列号。connection_requests
: 通过当前连接发送的请求数。connections_active
: 当前活动的客户端连接数,包括“等待”连接。connections_reading
: 正在读取请求头的连接数。connections_waiting
: 正在等待请求的空闲客户端连接数。connections_writing
: 正在将响应写回客户端的连接数。content_length
: 请求头字段Content-Length
的值。content_type
: 请求头字段Content-Type
的值。date_gmt
: 当前的 GMT 时间。date_local
: 当前的本地时间。document_uri
: 和$uri
相同。gzip_ratio
: 压缩比,即压缩后的大小占原始大小的比例。host
: 请求行中的主机名或请求头Host
字段中的主机名。hostname
: 主机名。http2
: 通过浏览器和服务器之间协商的应用层协议版本标识符:TLS 上的 HTTP/2 标识符为h2
,未加密的 TCP 上的 HTTP/2 标识符为h2c
,否则为空字符串。https
: 当连接以 SSL 模式运行时,值为on
,否则为空字符串。invalid_referer
: 如果条件满足,即Referer
请求头字段的值合法,则为空字符串,否则为1
。is_args
: 如果请求行有参数,则为?
,否则为空字符串。msec
: 当前毫秒精度下的秒数表示的时间。pid
: 工作进程的 PID。pipe
: 请求是否通过管道传输,若是则为p
,否则为.
。proxy_add_x_forwarded_for
: 包含$remote_addr
变量并以逗号分隔附加到X-Forwarded-For
客户端请求头字段中。如果客户端请求头中不存在X-Forwarded-For
字段,则$proxy_add_x_forwarded_for
变量等于变量$remote_addr
。proxy_host
: 代理服务器的名称和端口号。proxy_port
: 代理服务器的端口号。query_string
: 与$args
相同。remote_addr
: 客户端地址。remote_port
: 客户端端口号。remote_user
: Basic 认证的用户名。request
: 完整的原始请求行。request_body
: 请求体。request_body_file
: 带有请求消息正文的临时文件名称。request_completion
: 如果请求已完成,则为OK
,否则为空字符串。request_id
: 以十六进制表示的由 16 字节随机数生成的唯一请求标识符。request_length
: 请求的长度(包括请求行、头部和正文)。request_method
: 请求方法,通常为GET
或POST
。request_time
: 请求处理时间,以秒为单位,毫秒精度;自从读取客户端的第一个字节以来经过的时间。request_uri
: 完整的原始请求 URI(包括参数)。req_id
: 唯一的请求标识符。scheme
: 请求协议名称,http
或https
。server_addr
: 接受请求的服务器地址。server_name
: 接受请求的服务器名称。server_port
: 接受请求的服务器端口号。server_protocol
: 请求协议,通常为HTTP/1.0
、HTTP/1.1
、HTTP/2.0
或HTTP/3.0
。spdy
: SPDY 连接的协议版本,否则为空字符串。spdy_request_priority
: SPDY 连接上的请求优先级,否则为空字符串。ssl_cipher
: 返回已建立 SSL 连接所使用的密码名称。ssl_ciphers
: 返回客户端支持的密码列表。已知密码按名称列出,未知密码显示为十六进制,例如:AES128-SHA:AES256-SHA:0x00ff
。ssl_client_cert
: 返回已建立 SSL 连接的客户端证书的 PEM 格式,每行除第一行外都以制表符开头。ssl_client_fingerprint
: 返回已建立 SSL 连接的客户端证书的 SHA1 指纹。ssl_client_escaped_cert
: 返回已建立 SSL 连接的客户端证书的 PEM 格式(经过 URL 编码)。ssl_client_i_dn
: 返回已建立 SSL 连接的客户端证书的issuer DN
,根据 RFC 2253 规定。ssl_client_i_dn_legacy
: 返回已建立 SSL 连接的客户端证书的issuer DN
。ssl_client_raw_cert
: 返回已建立 SSL 连接的客户端证书的 PEM 格式。ssl_client_s_dn
: 返回已建立 SSL 连接的客户端证书的主题 DN 字符串,根据 RFC 2253 规定。ssl_client_s_dn_legacy
: 返回已建立 SSL 连接的客户端证书的subject DN DN
。ssl_client_serial
: 返回已建立 SSL 连接的客户端证书的序列号。ssl_client_v_end
: 返回客户端证书的结束日期。ssl_client_v_remain
: 返回客户端证书到期剩余天数。ssl_client_v_start
: 返回客户端证书的开始日期。ssl_client_verify
: 返回客户端证书验证结果:SUCCESS
表示验证成功,FAILED:reason
表示验证失败并给出原因,如果没有证书则返回NONE
。ssl_curves
: 返回客户端支持的曲线列表。已知曲线按名称列出,未知曲线显示为十六进制,例如:0x001d:prime256v1:secp521r1:secp384r1
。ssl_early_data
: 如果使用 TLS 1.3 的 early data,并且握手未完成,则返回1
;否则为空字符串。ssl_preread_alpn_protocols
: 通过 ALPN 广告的客户端协议列表。值由逗号分隔。ssl_preread_protocol
: 客户端支持的最高 SSL 协议版本。ssl_preread_server_name
: 通过 SNI 请求的服务器名称。ssl_protocol
: 返回已建立 SSL 连接的协议。ssl_server_name
: 返回通过 SNI 请求的服务器名称。ssl_session_id
: 返回已建立 SSL 连接的会话标识符。ssl_session_reused
: 返回r
表示 SSL 会话已重用,否则为.
。status
: 响应状态码。tcpinfo_rcv_space/tcpinfo_rtt/tcpinfo_rttvar/tcpinfo_snd_cwnd
: 关于客户端 TCP 连接的信息;仅在支持 TCP_INFO 套接字选项的系统上可用。time_iso8601
: 当地时间,ISO 8601 标准格式。time_local
: 当地时间,通用日志格式(Common Log)。time_local_msec
: 当地时间,毫秒精度在通用日志格式中。upstream_addr
: 上游服务器的 IP 地址和端口,或 UNIX 域套接字的路径。如果在请求处理期间联系了多个服务器,则它们的地址以逗号分隔,例如192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock
。upstream_bytes_received
: 接收自上游服务器的字节数。来自多个连接的值由逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。upstream_bytes_sent
: 发送到上游服务器的字节数。来自多个连接的值由逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。upstream_cache_status
: 访问响应缓存的状态。状态可以是MISS
、BYPASS
、EXPIRED
、STALE
、UPDATING
、REVALIDATED
或HIT
。upstream_connect_time
: 与上游服务器建立连接所花费的时间;时间以毫秒为精度,以秒为单位。对于 SSL,包括握手时间。多个连接的时间以逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。upstream_first_byte_time
: 接收数据第一个字节所需的时间;时间以毫秒为精度,以秒为单位。多个连接的时间以逗号分隔,就像在$upstream_addr
变量中的地址一样。upstream_header_time
: 从上游服务器接收响应头所花费的时间;时间以毫秒为精度,以秒为单位。多个响应的时间以逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。upstream_queue_time
: 请求在上游队列中花费的时间;时间以毫秒为精度,以秒为单位。多个响应的时间以逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。upstream_response_length
: 从上游服务器获取的响应长度;长度以字节为单位。多个响应的长度以逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。 。upstream_response_time
: 从上游服务器接收响应所花费的时间;时间以毫秒为精度,以秒为单位。多个响应的时间以逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。upstream_session_time
: 以毫秒为精度的会话持续时间,以秒为单位。多个连接的时间以逗号分隔,就像在$upstream_addr
变量中的地址一样。upstream_status
: 从上游服务器获取的响应状态码。多个响应的状态码以逗号和冒号分隔,就像在$upstream_addr
变量中的地址一样。如果无法选择服务器,则该变量为502(Bad Gateway)
状态码。uri
: 规范化后的当前请求 URI。在请求处理过程中,$uri
的值可能会更改,例如当进行内部重定向或使用索引文件时。app_id
: OpenResty Edge 的 HTTP 应用 ID。internal_request
: 是否是内部请求。limit_action
: 限制动作,如block
。response_body
: 响应体。proxy_protocol_addr
: PROXY 协议头中的客户端地址。proxy_protocol_port
: PROXY 协议头中的客户端端口。client_isp
: 客户端互联网服务提供商(Internet Service Provider)。这表示访问者使用的网络服务提供商,如 Comcast、Verizon、中国电信等。该变量在 v24.9.1 版本中首次引入。client_asn
: 客户端自治系统编号(Autonomous System Number)。这是一个用于标识互联网上的路由域的唯一标识符。每个 ISP 或大型网络通常都有自己的 ASN。该变量在 v24.9.1 版本中首次引入。client_country
: 客户端所在国家。这表示访问者的 IP 地址所对应的国家,如中国、美国、日本等。该变量在 v24.9.1 版本中首次引入。client_continent
: 客户端所在大洲。这表示访问者的 IP 地址所对应的大洲,如亚洲、北美洲、欧洲等。该变量在 v24.9.1 版本中首次引入。client_province
: 客户端所在省份或州。这表示访问者的 IP 地址所对应的省份(在中国)或州(在美国等国家),如广东省、加利福尼亚州等。该变量在 v24.9.1 版本中首次引入。client_city
: 客户端所在城市。这表示访问者的 IP 地址所对应的城市,如北京、纽约、东京等。该变量在 v24.9.1 版本中首次引入。
HTTP 固定前缀变量
arg_
: 请求行中的参数名称。upstream_trailer_
: 从上游服务器获取的响应末尾的字段。upstream_http_
: 服务器响应头字段。例如,Server
响应头字段可通过$upstream_http_server
变量访问。将头字段名称转换为变量名称的规则与以$http_
前缀开头的变量相同。仅保存最后一个服务器响应的头字段。sent_http_
: 任意的响应头字段;变量名称的最后一部分是字段名称,转换为小写并用下划线代替破折号。sent_trailer_
: 发送到响应末尾的任意字段;变量名称的最后一部分是字段名称,转换为小写并用下划线代替破折号。cookie_
: cookie 的名称。http_
: 任意的请求头字段;变量名称的最后一部分是字段名称,转换为小写并用下划线代替破折号。upstream_cookie_
: 上游服务器在Set-Cookie
响应头字段中发送的具有指定名称的 cookie。仅保存最后一个服务器响应中的 cookie。or-global-
: OpenResty Edge 的全局变量。
Stream 变量
binary_remote_addr
: 以二进制形式表示的客户端地址,IPv4 地址的值长度始终为 4 字节,IPv6 地址的值长度为 16 字节。bytes_sent
: 发送给客户端的字节数。connection
: 连接序列号。hostname
: 主机名。msec
: 当前时间(以秒为单位,毫秒为精度)。pid
: 工作进程的 PID。proxy_protocol_addr
: 来自 PROXY 协议头的客户端地址。proxy_protocol_port
: 来自 PROXY 协议头的客户端端口。proxy_protocol_server_addr
: 来自 PROXY 协议头的服务器地址。proxy_protocol_server_port
: 来自 PROXY 协议头的服务器端口。remote_addr
: 客户端地址。remote_port
: 客户端端口。server_addr
: 接受连接的服务器地址。server_port
: 接受连接的服务器端口。ssl_cipher
: 返回用于建立 SSL 连接的加密算法名称。ssl_ciphers
: 返回客户端支持的密码列表。已知的密码按名称列出,未知的密码以十六进制表示,例如:AES128-SHA:AES256-SHA:0x00ff
。ssl_client_cert
: 返回已建立的 SSL 连接中客户端证书的 PEM 格式。除第一行外,每行前缀为制表符。ssl_client_fingerprint
: 返回已建立的 SSL 连接中客户端证书的 SHA1 指纹。ssl_client_i_dn
: 返回已建立的 SSL 连接中客户端证书的issuer DN
,格式符合 RFC 2253。ssl_client_raw_cert
: 返回已建立的 SSL 连接中客户端证书的 PEM 格式。ssl_client_s_dn
: 返回已建立的 SSL 连接中客户端证书的subject DN
,格式符合 RFC 2253。ssl_client_serial
: 返回已建立的 SSL 连接中客户端证书的序列号。ssl_client_v_end
: 返回客户端证书的到期日期。ssl_client_v_remain
: 返回到客户端证书过期的天数。ssl_client_v_start
: 返回客户端证书的起始日期。ssl_client_verify
: 返回客户端证书验证的结果:SUCCESS
、FAILED:reason
和如果证书不存在则为NONE
。ssl_curves
: 返回客户端支持的曲线列表。已知的曲线按名称列出,未知的曲线以十六进制表示,例如:0x001d:prime256v1:secp521r1:secp384r1
。ssl_protocol
: 返回已建立的 SSL 连接的协议。ssl_server_name
: 返回通过 SNI 请求的服务器名称。ssl_session_id
: 返回已建立的 SSL 连接的会话 ID。ssl_session_reused
: 如果 SSL 会话被重新使用,则返回r
;否则返回.
。time_iso8601
: 本地时间,在 ISO 8601 标准格式下显示。time_local
: 本地时间,在通用日志格式格式下显示。time_local_msec
: 毫秒精度的本地时间,在通用日志格式下显示。upstream_addr
: 上游服务器的 IP 地址和端口号,或 UNIX 域套接字的路径。如果在请求处理期间与多个服务器联系,则它们的地址用逗号分隔,例如192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock
。upstream_bytes_received
: 从上游服务器接收的字节数。几个连接的值用逗号和冒号分隔,就像$upstream_addr
变量中的地址一样。upstream_bytes_sent
: 发送到上游服务器的字节数。几个连接的值用逗号和冒号分隔,就像$upstream_addr
变量中的地址一样。upstream_connect_time
: 与上游服务器建立连接所花费的时间;时间用秒表示,毫秒为精度。在 SSL 的情况下,包括用于握手的时间。几次连接的时间以逗号和冒号分隔,就像$upstream_addr
变量中的地址一样。
Socks5 变量
time
: 请求开始的本地时间。request_time
: 请求开始的时间。up_bytes
: 请求的字节数。down_bytes
: 响应的字节数。proxy_port
: 代理服务器的端口。client_addr
: 客户端地址。username
: 用户名。upstream_host
: 上游主机名。upstream_port
: 上游端口。status
: 状态码。bandwidth
: 带宽规则名称。failure
: 失败原因
HTTP 正向代理变量
time
:请求开始的本地时间。up_bytes
:请求的字节数。down_bytes
:响应的字节数。proxy_port
:代理服务器端口。client_addr
:客户端地址。upstream_host
:上游地址。upstream_port
:上游端口。method
:请求方法。status
:请求状态码。failure
:失败原因。account_key
:账号关键字。account
:账号。pa_
:代理鉴权的信息。header_
:请求头部信息,如 header_host。arg_
:URI 参数信息,如 arg_name。decoded_proxy_authorization
:解码后的代理鉴权信息。