昨天我们学习了http框架与请求相关的变量。
今天来看一下与tcp链接相关的变量 和 请求过程中产生的变量及Nginx系统变量。
因为tcp是一个四元组,可以拿到对端信息和本端信息
tcp相关变量如下:
binary_remote_addr:以二进制整型形式存储的客户端地址,IPv4只占用4个字节,IPv6占16个字节。
remote_add: 以字符串形式存储的客户端地址。占用字节相对较多一些,但可读性更好。
remote_port:客户端端口。
connection:递增的链接序号。
connection_requests:当前链接上执行过的请求数量,对keepalive连接有意义。
proxy_protocol_addr:如果使用proxy_protocol协议则返回协议中的地址,否则返回空。是为了之前说的realip问题,在tcp协议中新增了proxy_protocol头。
proxy_protocol_prot:原始用户的端口。
server_addr:服务器本端地址。
server_port:服务器本端端口。
TCP_INFO:tcp内核参数。
server_protocol:服务器端协议,如 HTTP/1.1。
------
Nginx 处理请求的过程中也会产生一些变量:
request_time:请求处理到当前时间的耗时,单位是秒,可以精确到毫秒 0.001。
server_name:匹配上请求的server_name
https: 是否开启了tls/ssl
request_completion: 请求处理完返回OK,否则返回空。
request_id: 以16进制输出的请求标识id,是随机生成的。
request_filename: 要访问文件的完整路径。
document_root: 由URI和root/alias规则生成的文件夹路径。
realpath_root: 将document_root中的软链接换成真实路径。
limit_rate: 返回客户端响应时的速度上限,单位为每秒字节数。
------
与http响应相关的变量
body_byte_sent: 响应中body包体的长度。
bytes_sent:全部http响应的长度。
status:http响应中的返回码
------
Nginx系统变量
time_local:以本地时间输出的当前时间,格式如:14/Nov/2018:15:55:37 +0800
nginx_version:版本号
pid:所属worker进程id。
pipe:使用了管道返回p,否则返回.
hostname:所属服务器的主机名
msec:1970年1月1日到当前时间的秒数,类似MySQL的TIMESTAMP。
本文暂时没有评论,来添加一个吧(●'◡'●)