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