[英]Varnish how to cache for mobile and desktop site
我想知道如何缓存移动和桌面网站。 我有移动和桌面站点,其根目录写在 nginx 中。每当用户访问该站点时,移动/桌面都会根据用户代理向用户提供服务,因此在这种情况下,如何为移动站点缓存和为桌面站点缓存,以便当用户访问网站时,从缓存中获取正确的内容。
请帮助在 Varnish 中编写用于移动和桌面缓存的 VCL。
您可以下载https://github.com/varnishcache/varnish-devicedetect/blob/master/devicedetect.vcl并将此文件包含在您的主 VCL 文件中。 通过调用主 VCL 文件中的devicedetect
子例程。
此子例程将设置一个包含设备类型的X-UA-Device
header,然后您可以启用它。
这是一个例子:
vcl 4.1;
backend default {
.port = "8080";
}
include "devicedetect.vcl";
sub vcl_recv {
call devicedetect;
if(req.http.X-UA-Device ~ "^(mobile|tablet)\-.+$") {
set req.http.X-UA-Device = "mobile";
} else {
set req.http.X-UA-Device = "desktop";
}
}
sub vcl_hash {
hash_data(req.http.X-UA-Device);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.