默认情况下,varnishncsa 会记录命中和未命中。由于我已经在后端服务器日志中记录未命中,因此我希望在 varnishncsa 中仅记录命中,以消除重复并降低日志文件大小。有人成功做到了吗?
我在 Ubuntu 12.04 Server x64 上运行 Varnish 3.0.2。
答案1
在我的 varnish 实例中,我包含一个“X-Cache”标头,它会根据需要显示 HIT 或 MISS。有了它,您只需在“TxHeader”中查找它即可:
varnishncsa -c -m "TxHeader:X-Cache: HIT"
要添加此标题,您可以在 .vcl 文件中添加类似这样的内容:
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
}