清漆如何为ESI设置不同的TTL以及如何验证它们

时间:2014-02-11 12:45:41

标签: varnish varnish-vcl

我在页面上有一个ESI部分。我想要不同于整个页面的ESI的TTL。 我有两个问题

  1. 我在哪里指定页面上各种ESI的TTL配置?

  2. 如何验证每个ESI的varnish cache hit-miss?

  3. 请提供您的意见。

1 个答案:

答案 0 :(得分:1)

  1. 最简单的分割方法是定义匹配网页的网址格式和网址,以匹配ESI中包含的代码段。例如,带有前缀或后缀。 类似的东西:

    sub vcl_fetch {
      if (req.url ~ "^/includes/"){
        set beresp.ttl = 120 s;
      } else {
        set beresp.ttl = 24 h;
      }
    }
    
  2. 您可以在服务器上运行varnishlog并重新构建清漆。否则,请检查目标服务器上的access.log。