HAOJX

Nginx中HTTP框架提供的变量

字数统计: 684阅读时长: 2 min
2018/10/12 Share

HTTP请求时的变量

变量名 涵义
arg_参数名 URL中
query_string 与arg变量相同
args 全部url参数
is_args 如果请求url中有参数则返回? ,否则返回空
content_length http请求中标识包体长度content_length头部的值
content_type 标识包体请求类型的content_type头部的值
uri 请求的uri(不包含?)
document_uri 与uri完全相同
request_uri 请求的url(包括完整的uri和参数)
scheme 协议名比如http或者https
request_method 请求方法 , 比如get或者post
request_length 请求内容的大小
remote_user 由HTTP Basic Authentication协议传入的用户名
request_body_file 临时请求包体的文件
request_body 请求的包体 , 这个变量当且仅当使用反向代理,且设定包体用内存存放才有效
request 原始的url请求 , 比如GET /?a=1&b=22 HTTP/1.1
host 先从请求行里取值, 如果没有则取host的值,两者都取不到则用server_name
http_头部名字 返回一个具体的请求头部

http连接相关的变量

变量名 涵义
binary_remote_addr 客户端地址的整形格式
connection 递增的连接序号
connection_requests 当前连接过的请求,对keeplive有意义
remote_addr 客户端地址
remote_port 客户端端口
proxy_protocol_addr 若使用了proxy_protocol则返回协议中的地址,否则为空
proxy_protocol_port 若使用了proxy_protocol则返回协议中的端口,否则为空
server_addr 服务端地址
server_port 服务端
TCP_INFO tcp内核参数, 包括tcpinfo_rtt, tcpinfo_rttvar,tcpinfo_snd_cwnd, tcpinfo_rcv_space
server_protocol 服务端协议 , 比如http/1.1

Nginx处理请求过程中的变量

变量名 涵义
request_time 请求到现在的耗时
server_name 匹配到请求道的server_name值
https 如果开启了TLS/SSL则返回on ,否则为空
request_completion 若请求处理完则返回ok ,否则为空
request_id 用16进制输出标识请求id , 这个数字随机生成
request_filename 待访问文件
document_root 由root/alias规则生成的文件夹路径
realpath_root 将document_root里软连接替换成真实路径
limit_rate 返回客户端响应的速度上限 , 可以通过set
sent_http_头部名称 响应中某个具体头部的值
status 响应的返回码
sent_trailer_名字 把响应结尾内容里的值返回
bytes_sent 全部http响应的长度
body_bytes_sent 响应中body包体的长度

Nginx系统变量

变量名 涵义
time_local 以本地时间标准输出 , 例如14/Nov/2018:15:55:37 +0800
time_iso8601 以iso8601标准输出当前时间 , 例如2018-11-14T15:55:37+08:00
nginx_version nginx版本
pid 所属worker进程的pid
pipe 使用管道则返回p ,否则返回 .
hostname 服务器的主机名 , 和hostname命令一样
mesc 1970.1.1到现在的时间 ,单位为秒 , 小数点后面精确到秒
CATALOG
  1. 1. HTTP请求时的变量
  2. 2. http连接相关的变量
  3. 3. Nginx处理请求过程中的变量
  4. 4. Nginx系统变量