前言
nginx1.15
全局变量
$scheme :请求的协议,比如http、https;
$https # 如果开启了SSL安全模式,值为“on”,否则为空字符串。
$host :请求的地址(IP或域名),比如127.0.0.1、localhost、baidu.com、www.baidu.com;
$hostname 机器名使用 gethostname系统调用的值
$time_local :访问时间及时区;
$status :HTTP响应代码<记录请求状态,比如200、404;
$body_bytes_sent:记录发送给客户端文件主体内容大小;
$bytes_sent :客户端发送的字节数
$connection # TCP连接的序列号
$connection_requests # TCP连接当前的请求数量
$limit_rate # 用于设置响应的速度限制,详见 limit_rate。
$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space # 客户端TCP连接的具体信息
$nginx_version # nginx版本
$pid # 工作进程的PID
$pipe # 如果请求来自管道通信,值为“p”,否则为“.” (1.3.12, 1.2.7)
$uri 请求中的当前URI(不带请求参数,参数位于args),不同于浏览器传递的args),不同于浏览器传递的args),不同于浏览器传递的request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。不包括协议和主机名,例如/foo/bar.html
request参数
$args 变量中存放了请求URL中的请求指令。比如
http:/www.xxxx.com/index/index?argl=valuel&arg2=value2中的“argl=valuel&arg2=value2”
$query_string 与变量$args含义相同
$arg_PARAMETER GET请求中变量名PARAMETER参数的值。
$is_args # 如果请求中有参数,值为“?”,否则为空字符串。
$remote_xxx
$remote_addr :客户端的ip地址;
$remote_user :记录客户端用户的名称;
$remote_port 变量中存放了客户端与服务器建立连接的端口号
$server_xxx
$server_protocol变量中存放了客户端请求协议的版本,比如“HTTP1.0”、"HTTP/1.1”等
$server_addr 变量中存放了服务器的地址
$server_name 变量中存放了客户端请求到达的服务器的名称
$server_port :请求的端口,比如80、443、8080,
$upstream_xxx
$upstream_status:upstream状态
$upstream_addr :后台upstream的地址,即真正提供服务的主机地址
$upstream_response_time:请求过程中,upstream响应时间
$request_xxx
$request :请求的URL与HTTP协议,比如GET /index HTTP/1.0;
$request_body :POST数据
$request_body_file变量中存放了发给后端服务器的本地文件资源的名称
$request_method 变量中存放了客户端的请求方式,如""GET”、“POST等
$request_filename 变量中存放了当前请求的资源文件的路径名
$request_uri 变量中存放了当前请求的URI,并且带请求指令
$request_length:客户端请求的长度
$request_time : 整个请求的总时间
$request_completion 如果请求成功,设为"OK";如果请求未完成或者不是一系列请求中最后一部分则设为空。
$content_xxx
$content_length 变量中存放了请求头中的Content-length字段
$content_type 变量中存放了请求头中的Content-type字段
$document_xxx
$document_root 变量中存放了针对当前请求的根路径
$realpath_root # 当前请求的文档根目录或别名的真实路径,会将所有符号连接转换为真实路径。
$document_uri ( 同 $uri)变量中存放了请求中的当前URI,并且不包括请求指令,比如 http://www.xxxx.com/index/index?argl-value1&arg2-value2中的“/index/index
$http_NAME:HTTP请求头中的内容
$http_NAME :匹配任意请求头字段,NAME可以替换成任意请求头字段。比如$http_accept_language获取http请求头Accept-Language;
$http_host :请求的地址(IP或域名),如果http协议头包含host,则对应http协议头的host,否则同$host;
$http_referer:用来记录从哪个页面链接访问过来的,对应http协议头的referer;
$http_user_agent:记录客户端浏览器的相关信息,对应http协议头的user-agent(规律:横线变成下划线了);
$http_x_forwarded_for : 对应http协议头的x-forwarded-for,含义同$remote_addr,用于反向代理时告知应用客户端的实际IP;
$http_x_forwarded_proto : 对应http协议头的x-forwarded-proto,含义同$scheme,用于反向代理时告知应用客户端的实际请求协议;
$http_cookie : 全部的cookie;
$sent_http_NAME:HTTP响应头中的内容
$sent_http_NAME :http响应头字段,NAME可以替换成任意响应头字段。如$sent_http_content_length获取响应头Content-length;
$sent_http_cache_control:
$sent_http_connection:
$sent_http_content_type:
$sent_http_keep_alive:
$sent_http_last_modified:
$sent_http_location:
$sent_http_transfer_encoding:
$cookie_NAME
$cookie_NAME :客户端请求Header头中的cookie变量,NAME可以替换成任意cookie名称。
$cookie_jsessionid获取cookie中的jsessionid;
注意:本文归作者所有,未经作者允许,不得转载
