Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经启动并运行了 Varnish,并且一切正常。
但我正在使用 esi <esi:include src="/esi/cache/temp.phtml?id=1"/>,它运行良好,但我想防止外部资源可以访问 esi 目录。
<esi:include src="/esi/cache/temp.phtml?id=1"/>
现在我通过在清漆中使用req.esi_level. 如果您直接访问esi,它将为0,否则它将为n + 1
req.esi_level
唯一的问题是,我认为/希望 Varnish 它自己可以阻止访问 esi 目录。
tl;博士你如何防止外部访问带有清漆的 esi 目录
在您的 VCL 中,不要设置值为 request.esi_level 的标头,而只需对 esi_level 为 0 的资源的请求进行短路。
伪vcl:
if (req.esi_level == 0 && req.url ~ "^/esi/.*") { error (403); }