0

我已经启动并运行了 Varnish,并且一切正常。

但我正在使用 esi <esi:include src="/esi/cache/temp.phtml?id=1"/>,它运行良好,但我想防止外部资源可以访问 esi 目录。

现在我通过在清漆中使用req.esi_level. 如果您直接访问esi,它将为0,否则它将为n + 1

唯一的问题是,我认为/希望 Varnish 它自己可以阻止访问 esi 目录。

tl;博士你如何防止外部访问带有清漆的 esi 目录

4

1 回答 1

1

在您的 VCL 中,不要设置值为 request.esi_level 的标头,而只需对 esi_level 为 0 的资源的请求进行短路。

伪vcl:

if (req.esi_level == 0 && req.url ~ "^/esi/.*") {
    error (403);
}
于 2013-07-17T15:30:30.377 回答