我有清漆运行,每件事情都运转正常。
但我使用的是esi <esi:include src="/esi/cache/temp.phtml?id=1"/>
,而且它工作正常,但我想防止外部资源可以访问esi目录。
现在我通过使用req.esi_level
在varnish中设置标头来实现它。如果直接访问esi,它将为0,否则将为n + 1
这个唯一的问题是,我会想到/希望Varnish它可以阻止访问esi目录。
tl; dr如何阻止外部访问带有清漆的esi目录
答案 0 :(得分:1)
在您的VCL中,不是使用request.esi_level的值设置标头,而只是将esi_level为0的那些资源的请求短路。
伪VCL:
if (req.esi_level == 0 && req.url ~ "^/esi/.*") {
error (403);
}