NGINX 变量
195 — 覆盖核心 HTTP、stream 与第三方模块的变量参考——可搜索、附示例与注意事项。
NGINX Core (HTTP)124
$arg_*
变量 $arg_ 从请求 URI 中检索特定查询参数的值。
$args
$args 变量包含请求的查询字符串参数,不包括 '?' 字符。
$binary_remote_addr
$binary_remote_addr 变量包含客户端 IP 地址的二进制表示。
可缓存
$body_bytes_sent
$body_bytes_sent 变量在 NGINX 中包含发送给客户端的响应体字节数,不包括响应头。
可缓存
$bytes_sent
$bytes_sent 变量包含响应请求时发送给客户端的总字节数。
可缓存
$connection
The $connection 变量在 NGINX 中返回当前请求的连接描述符编号。
可缓存
$connection_requests
变量 $connection_requests 返回当前连接接收到的请求数量。
可缓存
$connection_time
$connection_time 变量返回与客户端建立连接所用的时间,单位为秒。
$content_length
变量 $content_length 包含客户端发送的 'Content-Length' HTTP 头的值,表示请求体的字节大小。
可缓存
$content_type
$content_type 变量在 NGINX 中保存 HTTP 响应的 Content-Type 头的值。
可缓存
$cookie_*
以 $cookie_ 为前缀的变量用于访问客户端发送的 HTTP cookie 的值。
可缓存
$document_root
变量 $document_root 返回当前 server 或 location block 的根目录,该目录由 NGINX 配置中定义。
$document_uri
变量 $document_uri 包含请求的 URI,不包括任何查询字符串,并对百分号编码的字符进行了解码。
$fastcgi_path_info
变量 $fastcgi_path_info 包含 FastCGI 请求中紧随脚本名后的额外路径信息。
$fastcgi_script_name
$fastcgi_script_name 变量包含正在由 FastCGI 服务器处理的脚本名称。
$grpc_internal_trailers
变量 $grpc_internal_trailers 包含 gRPC 响应的内部 trailer 字段。
$gzip_ratio
变量 $gzip_ratio 保存了当 NGINX 返回压缩响应时 gzip 达到的压缩比。
可缓存
$host
在 NGINX 中,$host 变量保存来自 HTTP 请求头的主机名,或配置中定义的服务器名称。
可缓存
$hostname
$hostname 变量返回在 server block 中指定的服务器主机名。
可缓存
$http_*
变量 $http_ 保存来自客户端请求的特定 HTTP 头的值,前缀为 'http_'。
可缓存
$http_cookie
$http_cookie 变量捕获来自传入 HTTP 请求的 Cookie 头的值。
可缓存
$http_host
$http_host 变量包含客户端在 HTTP 请求中发送的 Host 头的值。
可缓存
$http_referer
$http_referer 变量包含客户端请求中 Referer HTTP 头的值。
可缓存
$http_user_agent
$http_user_agent 变量包含客户端发送的 User-Agent HTTP 请求头的值。
可缓存
$http_via
$http_via 变量检索由上游代理在 HTTP 请求中发送的 'via' 头的值。
可缓存
$http_x_forwarded_for
$http_x_forwarded_for 变量包含来自客户端请求的 X-Forwarded-For 头的值,该值指示发起请求的客户端的原始 IP 地址。
可缓存
$https
$https 变量指示请求是否通过 HTTPS(安全)发出。
可缓存
$invalid_referer
如果请求的 Referer 根据指定的访问规则不被允许,则 $invalid_referer 变量被设置为 1。
可缓存
$is_args
变量 $is_args 指示当前请求的查询字符串中是否包含参数。
$is_request_port
变量 $is_request_port 指示请求是否是在非默认协议端口上发起的。
可缓存
$limit_conn_status
$limit_conn_status 返回 NGINX 中每个客户端的连接限制状态。
$limit_rate
$limit_rate 控制响应的最大传输速率,有效地限制每个连接的带宽使用。
$limit_req_status
变量 $limit_req_status 输出 NGINX 中请求限制机制的状态码。
$msec
变量 $msec 包含自纪元以来的当前时间(以毫秒为单位)。
$nginx_version
变量 $nginx_version 保存当前正在运行的 NGINX 实例的版本号。
可缓存
$pid
$pid 变量返回正在处理当前请求的 NGINX 工作进程的进程 ID (PID)。
可缓存
$pipe
$pipe 变量表示请求是否以 pipelined 方式处理。
可缓存
$proxy_add_via
变量 $proxy_add_via 用于在 NGINX 转发的 HTTP 请求中附加 'Via' 头。
可缓存
$proxy_add_x_forwarded_for
$proxy_add_x_forwarded_for 变量在代理设置中将客户端的 IP 地址追加到 X-Forwarded-For 头中。
可缓存
$proxy_host
变量 $proxy_host 包含被代理到的 upstream 服务器的主机名。
$proxy_internal_body_length
$proxy_internal_body_length 返回从被代理服务器内部接收的请求体长度。
$proxy_internal_chunked
$proxy_internal_chunked 指示内部响应是否应以 chunked transfer encoding 发送。
$proxy_internal_connection
$proxy_internal_connection 指示到被代理服务器的连接是内部连接还是外部连接。
$proxy_internal_host
$proxy_internal_host 返回请求的内部代理主机名。
$proxy_port
$proxy_port 变量返回被代理服务器的端口号。
$proxy_protocol_addr
$proxy_protocol_addr 返回来自 PROXY protocol 的客户端地址(如果已启用)。
可缓存
$proxy_protocol_port
当使用 PROXY protocol 时,$proxy_protocol_port 变量返回接收被代理请求的端口号。
可缓存
$proxy_protocol_server_addr
$proxy_protocol_server_addr 返回在 NGINX 中启用 proxy protocol 时由 proxy protocol 发送的客户端 IP 地址。
可缓存
$proxy_protocol_server_port
变量 $proxy_protocol_server_port 返回由 PROXY protocol 指定的服务器端口号。
可缓存
$proxy_protocol_tlv_*
$proxy_protocol_tlv_ 变量用于访问包含在 Proxy Protocol TLV (Type-Length-Value) 格式中的信息。
可缓存
$query_string
变量 $query_string 包含客户端请求 URI 中的查询字符串部分,不包括前导的 '?'。
$realip_remote_addr
变量 $realip_remote_addr 在 NGINX 服务器部署在代理或负载均衡器之后时,包含原始客户端的 IP 地址。
可缓存
$realip_remote_port
变量 $realip_remote_port 保存发起请求的客户端的端口号,该端口号是 NGINX 从上游服务器接收到的。
可缓存
$realpath_root
$realpath_root 变量返回 location 块的根目录的规范文件名,解析任何符号链接。
$remote_addr
变量 $remote_addr 保存向 NGINX 服务器发出请求的客户端的 IP 地址。
可缓存
$remote_port
$remote_port 变量在 NGINX 中包含发出请求的客户端的端口号,可用于访问控制和日志记录。
可缓存
$remote_user
在 HTTP 基本认证期间,$remote_user 变量包含客户端提供的用户名。
可缓存
$request
$request 变量包含从客户端接收的完整请求行,包括 HTTP 方法、URI 和 HTTP 版本。
可缓存
$request_body
$request_body 变量包含客户端请求的原始主体。
可缓存
$request_body_file
$request_body_file 变量包含当请求体过大而无法放入内存时,用于保存该请求体的临时文件的路径。
可缓存
$request_completion
变量 $request_completion 返回请求处理的状态,指示请求是否已成功完成。
可缓存
$request_filename
$request_filename 变量包含客户端所请求文件的完整路径。
$request_id
$request_id 变量包含 NGINX 处理的每个请求的唯一标识符。
可缓存
$request_length
变量 $request_length 返回客户端请求主体的总大小(以字节为单位)。
$request_method
$request_method 变量在 NGINX 中包含当前请求使用的 HTTP 方法。
$request_port
$request_port 变量包含客户端用于向服务器发送请求的端口号。
可缓存
$request_time
$request_time 包含处理请求所用的总时间,单位为秒,精确到毫秒。
$request_uri
变量 $request_uri 包含客户端发送的原始请求 URI(如果存在,则包括查询字符串)。
可缓存
$scheme
NGINX 中的 $scheme 变量返回当前请求的协议(HTTP 或 HTTPS)。
可缓存
$secure_link
变量 $secure_link 用于基于哈希令牌验证对资源的安全链接。
可缓存
$secure_link_expires
$secure_link_expires 返回 NGINX 中安全链接的过期时间戳。
可缓存
$sent_http_*
以 $sent_http_ 前缀开头的变量返回发送给客户端的 HTTP 响应头。
可缓存
$sent_http_cache_control
$sent_http_cache_control 包含在 HTTP 响应中发送的 'Cache-Control' 头的值。
可缓存
$sent_http_connection
变量 $sent_http_connection 保存在 HTTP 响应中发送给客户端的 'Connection' 头的值。
可缓存
$sent_http_content_length
变量 $sent_http_content_length 返回 HTTP 响应中发送的 Content-Length 头的值。
可缓存
$sent_http_content_type
$sent_http_content_type 变量保存 NGINX 在 HTTP 响应中发送的 Content-Type 头部。
可缓存
$sent_http_keep_alive
NGINX 中的 $sent_http_keep_alive 变量包含响应中发送给客户端的 'Keep-Alive' 头的值。
可缓存
$sent_http_last_modified
变量 $sent_http_last_modified 包含服务器在响应客户端时返回的 Last-Modified 头的值。
可缓存
$sent_http_link
$sent_http_link 变量包含 NGINX 发送的 Link HTTP 响应头的值。
可缓存
$sent_http_location
当发生内部重定向时,$sent_http_location 变量包含响应中发送的 HTTP 'Location' 首部。
可缓存
$sent_http_transfer_encoding
$sent_http_transfer_encoding 包含发送到客户端的 'Transfer-Encoding' 头的值。
可缓存
$sent_trailer_*
变量 $sent_trailer_ 是一个前缀变量,用于在 NGINX 中检索随 HTTP 响应发送的尾部字段。
可缓存
$server_addr
$server_addr 变量返回在 NGINX 配置中指定的服务器的 IP 地址。
可缓存
$server_name
$server_name 变量表示提供该请求的虚拟主机的名称。
可缓存
$server_port
$server_port 变量返回接收当前请求的端口号。
可缓存
$server_protocol
$server_protocol 变量包含用于当前请求的协议,通常为 HTTP 或 HTTPS。
可缓存
$ssl_alpn_protocol
变量 $ssl_alpn_protocol 包含在 TLS 握手期间选择的应用层协议协商 (ALPN) 协议。
可缓存
$ssl_cipher
$ssl_cipher 变量包含用于 SSL/TLS 连接的加密套件名称。
可缓存
$ssl_ciphers
$ssl_ciphers 变量包含用于当前连接的 SSL/TLS 密码套件列表。
可缓存
$ssl_client_cert
当启用 SSL 客户端验证时,变量 $ssl_client_cert 包含客户端的 SSL 证书,形式为 PEM 编码的字符串。
可缓存
$ssl_client_escaped_cert
$ssl_client_escaped_cert 变量包含在 SSL 握手期间由客户端发送的 PEM-encoded 和 URL-escaped 的客户端证书。
可缓存
$ssl_client_fingerprint
变量 $ssl_client_fingerprint 表示客户端 SSL 证书的指纹。
可缓存
$ssl_client_i_dn
$ssl_client_i_dn 变量保存客户端在 SSL/TLS 会话期间的身份可分辨名称 (DN)。
可缓存
$ssl_client_i_dn_legacy
变量 $ssl_client_i_dn_legacy 返回客户端 SSL 证书的旧版可分辨名称 (DN) 字符串表示。
可缓存
$ssl_client_raw_cert
变量 $ssl_client_raw_cert 包含客户端 SSL 证书的原始字节。
可缓存
$ssl_client_s_dn
$ssl_client_s_dn 变量包含客户端 SSL 证书的主题可分辨名称。
可缓存
$ssl_client_s_dn_legacy
$ssl_client_s_dn_legacy 变量包含 SSL 客户端证书的遗留主题可分辨名称(DN)。
可缓存
$ssl_client_serial
$ssl_client_serial 变量包含在安全连接中使用的客户端 SSL 证书的序列号。
可缓存
$ssl_client_sigalg
变量 $ssl_client_sigalg 包含客户端 SSL 证书使用的签名算法。
可缓存
$ssl_client_v_end
变量 $ssl_client_v_end 包含客户端 SSL 连接的结束时间,单位为自 epoch 起的秒数。
可缓存
$ssl_client_v_remain
$ssl_client_v_remain 返回在处理当前证书之后,SSL 客户端证书链中剩余的字节数。
可缓存
$ssl_client_v_start
$ssl_client_v_start 返回在 SSL 握手完成并建立客户端连接时的时间戳。
可缓存
$ssl_client_verify
$ssl_client_verify 表示 SSL 连接中客户端证书的验证状态。
可缓存
$ssl_curve
$ssl_curve 变量返回用于 SSL/TLS 连接的椭圆曲线的名称。
可缓存
$ssl_curves
变量 $ssl_curves 返回在 SSL 握手期间协商的椭圆曲线列表。
可缓存
$ssl_early_data
变量 $ssl_early_data 指示在 SSL/TLS 连接中是否已接收到早期数据。
$ssl_ech_outer_server_name
$ssl_ech_outer_server_name 返回在当前 SSL 连接的 Encrypted ClientHello 中使用的外层服务器名称。
可缓存
$ssl_ech_status
$ssl_ech_status 变量表示当前 SSL 连接中对 Encrypted ClientHello (ECH) 的支持状态。
可缓存
$ssl_protocol
$ssl_protocol 包含用于连接的 SSL/TLS 协议版本。
可缓存
$ssl_server_name
变量 $ssl_server_name 包含在 SSL 握手期间与请求匹配的、由 'server_name' 指令指定的服务器名称。
可缓存
$ssl_session_id
$ssl_session_id 变量包含 NGINX 服务器上当前 SSL 会话的唯一标识符。
可缓存
$ssl_session_reused
$ssl_session_reused 变量指示是否为当前连接重复使用了现有的 SSL 会话。
可缓存
$ssl_sigalg
$ssl_sigalg 变量返回用于安全连接的 SSL 握手中的签名算法。
可缓存
$status
变量 $status 返回正在由 NGINX 处理的当前请求的 HTTP 响应状态码。
$tcpinfo_rcv_space
变量 $tcpinfo_rcv_space 返回为入站 TCP 缓冲区分配的内存量。
$tcpinfo_rtt
$tcpinfo_rtt 变量返回 TCP 连接的往返时间 (RTT),单位为微秒。
$tcpinfo_rttvar
$tcpinfo_rttvar 变量以微秒为单位返回 TCP 连接的 RTT 方差。
$tcpinfo_snd_cwnd
$tcpinfo_snd_cwnd 返回以字节为单位的 TCP 发送拥塞窗口大小。
$time_iso8601
变量 $time_iso8601 返回 ISO 8601 格式的当前时间。
$time_local
$time_local 变量以 Common Log Format 使用的格式返回当前本地时间。
$uid_got
$uid_got 变量返回请求所属者的用户 ID,这对访问控制和日志记录非常有用。
可缓存
$uid_reset
The $uid_reset 变量指示是否应根据访问控制规则重置请求的 UID。
可缓存
$uid_set
在 NGINX 中,$uid_set 变量包含为当前请求上下文设置的用户 ID。
可缓存
$uri
NGINX 中的 $uri 变量返回所请求资源的 URI 部分,不包含域名或协议信息。
NGINX Core (Stream)3
NGINX CoolKit Module2
NGINX Module for Google Mirror creation4
An NGINX module for collecting stats into Graphite1
NGINX JWT Module4
Kaltura Media Framework Common NGINX Module15
$live_ksmp_block_duration
可缓存
$live_ksmp_err_code
可缓存
$live_ksmp_err_msg
可缓存
$live_ksmp_source
可缓存
$pckg_channel_id
可缓存
$pckg_err_code
可缓存
$pckg_err_msg
可缓存
$pckg_last_part
可缓存
$pckg_media_type
$pckg_part_duration
可缓存
$pckg_segment_dts
可缓存
$pckg_timeline_id
可缓存
$pckg_var_*
可缓存
$pckg_variant_id
$pckg_variant_ids
可缓存
NGINX 文件上传处理模块16
$upload_content_range
$upload_content_type
$upload_field_name
$upload_file_crc32
$upload_file_md5
$upload_file_md5_uc
$upload_file_name
$upload_file_number
$upload_file_sha1
$upload_file_sha1_uc
$upload_file_sha256
$upload_file_sha256_uc
$upload_file_sha512
$upload_file_sha512_uc
$upload_file_size
$upload_tmp_path