常用变量:
1、在任何引擎中均可使用:
now, .host, .port
2、用于处理请求阶段:
client.ip, server.hostname, server.ip, server.port
req.request:请求方法
req.url: 请求的URL
req.proto: HTTP协议版本
req.backend: 用于服务此次请求的后端主机;
req.backend.healthy: 后端主机健康状态;
req.http.HEADER: 引用请求报文中指定的首部;
req.can_gzip:客户端是否能够接受gzip压缩格式的响应内容;
req.restarts: 此请求被重启的次数;
3、varnish向backend主机发起请求前可用的变量
bereq.request: 请求方法
bereq.url:
bereq.proto:
bereq.http.HEADER
bereq.connect_timeout: 等待与be建立连接的超时时长
4、backend主机的响应报文到达本主机(varnish)后,将其放置于cache中之前可用的变量
beresp.do_stream: 流式响应;
beresp.do_gzip:是否压缩之后再存入缓存;
beresp.do_gunzip:
beresp.http.HEADER:
beresp.proto:
beresp.status:响应状态码
beresp.response:响应时的原因短语
beresp.ttl:响应对象剩余的生存时长,单位为second;
beresp.backend.name: 此响应报文来源backend名称;
beresp.backend.ip
beresp..backend.port
beresp.storage
5、缓存对象存入cache之后可用的变量
obj.proto
obj.status
obj.response
obj.ttl
obj.hits
obj.http.HEADER
6、在决定对请求键做hash计算时可用的变量
req.hash
7、在为客户端准备响应报文时可用的变量
resp.proto
resp.status
resp.response
resp.http.HEADER