阅读量:0
nginx内置变量大全包括$remote_addr、$server_addr、$request_uri等,用于控制请求和响应。
基本请求头变量
变量名 | 描述 |
$arg_name | 请求中的参数名 |
$args | 请求中的参数值 |
$binary_remote_addr | 客户端地址的二进制形式 |
$body_bytes_sent | 传输给客户端的字节数(响应头不计算在内) |
$bytes_sent | 传输给客户端的总字节数 |
$content_length | "Content-Length" 请求头字段 |
$content_type | "Content-Type" 请求头字段 |
$cookie_name | cookie的名称 |
$document_root | 当前请求的文档根目录或别名 |
$document_uri | 同 $uri |
$host | HTTP请求行的主机名 > "HOST"请求头字段 > 符合请求的服务器名 |
$hostname | 主机名 |
$https | 如果开启了SSL安全模式,值为“on”,否则为空字符串 |
$is_args | 如果请求中有参数,值为“?”,否则为空字符串 |
$limit_rate | 用于设置响应的速度限制 |
$msec | 当前的Unix时间戳 |
$nginx_version | nginx版本 |
$pid | 工作进程的PID |
$pipe | 如果请求来自管道通信,值为“p”,否则为“.” |
$proxy_protocol_addr | 获取代理访问服务器的客户端地址,如果是直接访问,该值为空字符串 |
$query_string | 同 $args |
$realpath_root | 当前请求的文档根目录或别名的真实路径 |
$remote_addr | 客户端地址 |
$remote_port | 客户端端口 |
$remote_user | 用于HTTP基础认证服务的用户名 |
$request | 代表客户端的请求地址 |
$request_body | 客户端的请求主体 |
$request_body_file | 将客户端请求主体保存在临时文件中 |
$request_completion | 如果请求成功,值为”OK”,否则为空 |
$request_filename | 当前连接请求的文件路径 |
$request_length | 请求的长度(包括请求的地址, http请求头和请求主体) |
$request_method | HTTP请求方法,通常为“GET”或“POST” |
$request_time | 处理客户端请求使用的时间 |
$request_uri | 包含一些客户端请求参数的原始URI |
$scheme | 请求使用的Web协议 |
$sent_http_name | 可以设置任意http响应头字段 |
$server_addr | 服务器端地址 |
$server_name | 服务器名 |
$server_port | 服务器端口 |
$server_protocol | 服务器的HTTP版本 |
$status | HTTP响应代码 |
$tcpinfo_rtt | 客户端TCP连接的往返时间 |
$tcpinfo_rttvar | 客户端TCP连接的往返时间变化 |
$tcpinfo_snd_cwnd | 客户端TCP连接的发送窗口 |
$tcpinfo_rcv_space | 客户端TCP连接的接收窗口 |
$time_iso8601 | 服务器时间的ISO 8610格式 |
$time_local | 服务器时间(LOG Format 格式) |
$uri | 请求中的当前URI(不带请求参数,参数位于$args) |
相关问题与解答
1、问题一:$remote_addr
和$binary_remote_addr
有什么不同?
2、解答:$remote_addr
是客户端IP地址的文本表示,而$binary_remote_addr
是以二进制形式存储的客户端IP地址,两者在存储方式和长度上有所不同,但都用于标识客户端的IP地址。
3、问题二:如何通过nginx内置变量获取客户端请求的方法(如GET或POST)?
4、解答:可以通过$request_method
内置变量来获取客户端请求的方法,这个变量会返回HTTP请求方法,通常为“GET”或“POST”,当客户端发起一个GET请求时,$request_method
的值将是“GET”;当发起一个POST请求时,其值将是“POST”。
小伙伴们,上文介绍了“分享最新版 nginx内置变量 大全”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。