Varnish基础概念详解(3)

Varnish默认的vcl_recv专门设计用来实现安全的缓存策略,它主要完成两种功能:
(1)仅处理可以识别的HTTP方法,并且只缓存GET和HEAD方法;
(2)不缓存任何用户特有的数据;

下面是一个自定义的使用示例:

sub vcl_recv {
    if (req.http.User-Agent ~ "iPad" ||

req.http.User-Agent ~ "iPhone" ||

req.http.User-Agent ~ "Android") {

set req.http.X-Device = "mobile";
    } else {
              set req.http.X-Device = "desktop";
    }
}

如果用户请求的时候浏览器用户代理是iPad iPhone Android

那么于是将其设定首部为mobile

否则就设标注首部为desktop 桌面客户端

于是可以将其做响应处理了,比如如果是移动客户端将转为手机版服务器

如果是桌面客户端则转为正常web服务器

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22c96ff40c76c1088e2a102b231247f7.html