所以我想在一个用Silex制作的简单测试页面中获得Varnish“HITS”。 响应具有缓存所需的标头,但它没有被缓存。这似乎是因为安装了Google Analytics。
有没有办法告诉Varnish(在cloudControl中)忽略Google Analytics Cookie?
在此处查看测试网站:http://www.delphinedhaenens.be(MISS)
更新:没有Google Analytics代码缓存HITS,所以我想也许cloudControl不会忽略新的Universal Analytics Cookie(“_ga。”)...来自cloudControl的人可以确认此?
使用否 GA代码查看同一网站:http://ga-delphius.cloudcontrolled.com(HIT)
同样,使用经典 GA代码:http://gaclassic-delphius.cloudcontrolled.com(HIT)
答案 0 :(得分:2)
Cloudcontrol routing tier(* .cloudcontrolled.com)从今天开始处理GA通用cookie。请看一下简单的例子:
http://classic-gacachingtest.cloudcontrolled.com/
http://universal-gacachingtest.cloudcontrolled.com/
有趣的是official varnish documentation建议使用规则来处理所有类型的GA Cookie,但也会剥离其他类型的Cookie,如果它们只是以“_”开头,那就不那么酷了。
答案 1 :(得分:0)
您可以通过__utm
中的客户请求删除GA设置的vcl_recv
Cookie,如下所示:
sub vcl_recv {
if (req.http.Cookie) {
set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *__utm.=[^;]+;? *", "\1");
}
if (req.http.Cookie ~ "^[\s;]*$") {
unset req.http.Cookie;
}
这将删除所有__utma
,__utmb
,__utmc
Cookie等。