【问题标题】:Varnish not processing ESI request when fetching the page containing esi tag from cache?从缓存中获取包含 esi 标签的页面时,清漆不处理 ESI 请求?
【发布时间】:2015-10-21 17:19:19
【问题描述】:

我使用 ESI 来不缓存页面片段。我在 vcl 文件中编写了以下配置以不缓存我的片段:

sub vcl_backend_response{
   set beresp.do_esi = true;
   if (bereq.url ~ "/fragment") {
        set beresp.uncacheable = true;
        return (deliver);
    }   
}

当varnish第一次从后端带来整个页面时,它发送 单独请求“/片段”并将其放在页面的适当位置。 但是在刷新页面时,清漆只对主页和 它在缓存中找到它。然后它不会在此页面中查找 esi 片段,也不会发送请求。相反,它在缓存主页时存储在主页本身中,并在查找时从那里获取。 我想知道如何在每次请求主页时从后端获取片段,同时从缓存中提供主页的其余内容。

【问题讨论】:

    标签: varnish-vcl esi fragment-caching


    【解决方案1】:

    unset resp.http.Etag; 放入vcl_deliver 子程序对我有用。

    【讨论】:

      猜你喜欢
      • 2012-04-22
      • 2020-08-29
      • 2011-11-08
      • 1970-01-01
      • 2023-04-01
      • 2013-07-16
      • 2014-10-20
      • 1970-01-01
      • 2011-05-29
      相关资源
      最近更新 更多