清漆第一次请求有max-age = 0

时间:2016-02-14 22:41:40

标签: wordpress varnish

我使用Varnish几乎可以使用Wordpress和Total Cache。

但isvarnishworking.com告诉我年龄是0.有趣的是,如果我再次尝试使用相同的网址,一切正常,我可以看到年龄不再是0

它为我尝试的每个网址执行此操作。我也可以在浏览器中验证这一点。

什么可以解释一下,在第一次请求时(以及所有客户端),max-age为0但是从第二次请求开始就没问题呢?

我可以理解,如果缓存被清空,它只在第一次请求时执行。但这是针对每个客户的第一个请求。

vcl_recv:

# Drop any cookies sent to Wordpress.
 if (!(req.url ~ "wp-(login|admin)")) {
unset req.http.cookie;
 }

# Anything else left?
if (!req.http.cookie) {
 unset req.http.cookie;
}

vcl_fetch:

 # Drop any cookies Wordpress tries to send back to the client.
   if (!(req.url ~ "wp-(login|admin)")) {
    unset beresp.http.set-cookie;
    }

2 个答案:

答案 0 :(得分:0)

Varnish标题“Age”与Cache Control参数“max-age”不同。这只是告诉你对象刚刚进入缓存。 5s后你应该看到“年龄:5”。

具体来自sec 14.6 of RFC 2616

  

Age response-header字段传达发件人的估计值         自响应(或其重新验证)以来的时间量         在原始服务器上生成。如果缓存响应是“新鲜的”         它的年龄不超过其新鲜寿命。

答案 1 :(得分:0)

很好,Varnish对这个问题的回答是,如果我需要帮助,我应该获得Varnish Plus订阅。

我想我现在会用别的东西。