我为我的一个网站设置了清漆。我正在使用开源软件 Piwik 进行统计跟踪。
Piwik 可以选择使用代理进行跟踪,这意味着 Piwik 的 URL 不会在我的源代码中显示。基本上它是一个 PHP 文件,它位于我的 wordpress 安装中,它将 CURL 帖子发送到我的 Piwik 安装......
现在,我使用以下方式设置我的清漆: https ://github.com/mattiasgeniar/varnish-3.0-configuration-templates
在 vcl_fetch 我添加了:
if (req.url ~ "piwik") {
set beresp.ttl = 120s;
return (hit_for_pass);
}
在 vcl_recv 我添加了:
if (req.url ~ "piwik") {
return (pass);
}
发生的事情是,我只看到网站上实际拥有的流量的 50%...
恐怕是因为我的 vcl_fetch 设置...
我阅读了 pass 和 hit_for_pass 之间的区别,据我了解 beresp.ttl 是一个配置,我指导 varnish 继续做 pass 120s
还有一件事,WP 上的 W3TotalCache 在我的 piwik.php 文件中添加了一些缓存标头,例如 Max-Age & expires。如果没有 Varnish,它仍然可以正常工作并正确跟踪。Varnish和那些标题之间是否可能存在某种冲突?
我做对了吗?为什么你认为我 50% 的跟踪被遗漏了?
谢谢。