【发布时间】: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