Varnish常用变量使用小结

9 年 ago jony Varnish常用变量使用小结已关闭评论

2. 延伸阅读

3. 广告时间


本文为知识点小结:

1. 建议阅读时长5分钟

2. 建议了解就好,收藏为宜,方便知识检索

Varnish常用变量使用小结

1. 常用变量使用范围

* (1)在任何状态引擎中均可

在任何状态引擎中均可 -
.host 后端主机的主机名或者IP
.port 后端主机的服务名或者端口号

* (2)用于处理请求阶段

处理请求阶段 -
client.ip 客户端ip
server.hostname 缓存服务器主机名
server.ip 缓存服务器ip
server.port 缓存服务器端口
req.request: 请求方法
req.url: 请求的URL
req.proto: 请求的HTTP协议版本
req.backend 指定用于服务此次请求的后端主机
req.backend.healthy 后端主机的健康状态
req.http.HEADER: 调用request报文中http协议的指定的HEADER首部
req.can_gzip: 客户端是否能结束gzip压缩格式响应内容
req.restarts: 此请求被重启的次数
req.grace: 宽限期响应

* (3)varnish向backend主机发起请求前可用的变量

向backend发起请求前可用变量 -
bereq.request 后端主机请求方法
bereq.url 后端主机请求路径
bereq.proto: 后端主机请求http协议
bereq.http.HEADER: 后端主机HTTP首部
bereq.connect.timeout: 等待后端建立连接的超时时长

* (4)backend主机的响应报文到达本主机(varnish)后,将其放置在cache中之前可用的变量

backend主机响应报文到达(varnish)后 -
beresp.do_stream: 流式响应(接收一个响应一个)
beresp.do_gzip: 是否压缩后存储
beresp.do_gunzip: 是否先解压缩再存储
beresp.http.HEADER: 后端主机响应http首部
beresp.proto: 后端主机响应http协议
beresp.status: 后端主机响应状态码
beresp.response: 响应的原因短语
beresp.ttl: 响应对象剩余的响应时长,单位为秒
beresp.backend.name 指明此响应报文来源的后端主机的名称
beresp.backend.ip 指明此响应报文来源的后端主机的ip地址
beresp.backend.port 指明此响应报文来源的后端主机的端口号
beresp.storage 强制varnish存储在指定的缓存后端

* (5)缓存对象(从后端主机取出内容)存入cache之后可用变量

缓存对象(从backend取出内容)存入cache后可用变量 -
obj.proto: 缓存对象响应时的协议
obj.status: 缓存对象响应时的状态码
obj.response: 缓存对象响应时的原因短语
obj.ttl: 缓存对象响应时的生存时长
obj.hits: 缓存对象响应时的命中次数
obj.http.HEADER: 缓存对象响应时的的http首部

* (6)在决定对请求的键做hash计算时可用变量

hash计算 -
req.hash 指明将什么键当成hash缓存的键

* (7)在为客户端 准备响应报文时可用的变量

在为客户端准备响应报文的可用变量 -
resp.proto 响应的协议
resp.status 响应的状态码
resp.response 响应的响应原因短语
resp.http.HEADER 响应的

https://fomore.net/os/?p=2018

varnishstat与缓存效果

Varnish应用和实例详解

Varnish从菜鸟到专家(一)

varnish强制刷新与Modify Header