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到现在的时间 ,单位为秒 , 小数点后面精确到秒 |