Nginx内置变量

  1. 请求相关变量

$args:请求行中的参数(即 URL 中 ? 后面的部分)。

$query_string:与 $args 含义相同,表示请求参数。

$request_method:请求的 HTTP 方法,如 GET、POST 等。

$request_uri:包含请求参数的完整初始 URI(不包含主机名)。

$uri:当前请求的 URI,不包含请求参数。

$document_uri:与 $uri 含义相同。

$request:完整的请求行,包括方法、URI 和 HTTP 版本。

$request_length:请求的长度(包括请求行、请求头和请求正文)。

$request_time:请求处理时间,单位为秒,精度为毫秒。

$request_filename:当前请求的文件路径,由 root 或 alias 和 URI 组合而成。


  1. 客户端信息

$remote_addr:客户端的 IP 地址。

$http_x_forwarded_for:客户端的真实 IP(当 Nginx 前面有代理服务器时)。

$remote_port:客户端的端口号。

$remote_user:客户端用户名(如果设置了用户验证)。

$http_referer:请求来源页面的 URL。

$http_user_agent:客户端浏览器的用户代理信息。


  1. 服务器信息

$server_addr:服务器的 IP 地址。

$server_name:请求到达的服务器名称。

$server_port:请求到达的服务器端口号。

$server_protocol:请求的 HTTP 协议版本(如 HTTP/1.1)。


  1. 响应相关变量

$status:响应的 HTTP 状态码(如 200、404 等)。

$body_bytes_sent:发送给客户端的响应体字节数(不包括响应头)。

$bytes_sent:发送给客户端的总字节数(包括响应头和响应体)。

$sent_http_*:响应头中的特定字段,如 $sent_http_content_type。


  1. 连接相关变量

$connection:连接的序列号。

$connection_requests:当前通过一个连接获得的请求数量。

$pipe:如果请求是通过 HTTP 流水线发送,值为 p,否则为 .


  1. 时间相关变量

$time_iso8601:ISO8601 标准格式下的本地时间。

$time_local:通用日志格式下的本地时间与时区。

$msec:日志写入时间,单位为秒,精度为毫秒。


  1. 其他常用变量

$host:请求头中的 Host 字段值。

$document_root:当前请求的 root 指令指定的值。

$limit_rate:限制连接的速率。

$scheme:请求的协议(如 http 或 https)。

$https:如果请求使用 HTTPS,值为 on,否则为空。

$http_*:请求头中的特定字段,如 $http_cookie。


  1. SSL/TLS 相关变量

$ssl_protocol:SSL/TLS 协议版本(如 TLSv1.2)。

$ssl_cipher:使用的加密套件。

$ssl_client_cert:客户端证书(如果启用了客户端证书验证)。

$ssl_client_verify:客户端证书验证结果(如 SUCCESS 或 FAILED)。


  1. 代理相关变量

$proxy_host:代理请求的目标主机。

$proxy_port:代理请求的目标端口。

$proxy_protocol_addr:通过 PROXY 协议获取的客户端 IP 地址。

$proxy_protocol_port:通过 PROXY 协议获取的客户端端口。


  1. 日志相关变量

$connection_time:连接持续时间,单位为秒。

$upstream_addr:上游服务器的地址。

$upstream_status:上游服务器返回的 HTTP 状态码。

$upstream_response_time:上游服务器的响应时间。

nginx

posted @ 2025-12-25 15:01  姬雨晨  阅读(6)  评论(0)    收藏  举报