清漆级联中的 ESI?

ESI within a varnish cascade?

我们想要设置清漆级联,以便我们拥有类似 1 级和 2 级缓存的内容。这意味着应要求 - 清漆 1 级流程和路线 - 路由到的清漆级别 2 - 申请

问题:如果应用程序现在在内容中添加 esi,是否可以定义类似名称空间的东西,一些 esi 在 level 2 varnish 中处理,而其他 esi 在 level 1 varnish 中处理?

谢谢

要让 Varnish 处理 ESI,需要添加

set beresp.do_esi = true;

到VCL中的"vcl_backend_response"(Varnish 3中的"vcl_fetch")。

因为这可以有条件地完成,例如

sub vcl_backend_response {
    if (bereq.url == "/test.html") {
       set beresp.do_esi = true; // Do ESI processing
    }
}

您可以控制是否在一个或另一个 Varnish 实例中处理 ESI。 另见:https://www.varnish-cache.org/docs/4.0/users-guide/esi.html