gpt4 book ai didi

php - 基于 header 的 Varnish 缓存

转载 作者:行者123 更新时间:2023-12-03 17:45:46 25 4
gpt4 key购买 nike

目前我在运行大约 30-40 个不同网站的服务器上运行 Varnish。所有这些网站都使用相同的库来处理请求(每个网站都有自己的域)。然而,其中一些网站非常简单,可以完全缓存。我想要做的是在项目/网站(某些 header )中启用一个标志,告诉 varnish 在交付后缓存请求。这样的构造是否可行,因为我不想为每个可以完全缓存的项目编辑 VCL 并向 vcl_fetch 添加一个条目,例如:

if (req.http.host ~ "<website>")
{
unset req.http.cookie;
return (lookup)
}

有没有合适的方法来做到这一点?我确实看过 Varnish 流程图,但无法提出一个好的解决方案。

提前致谢!

最佳答案

希望对您有所帮助。在下面的示例中,自定义 header 用作条件。

sub vcl_fetch {
if (req.http.Custom-Header == "www.site.com" {
set beresp.ttl = [...]
[...]
}
elsif (req.http.Custom-Header == "www.site2.com" {
set beresp.ttl = [...]
}
else {
[...]
}
return(deliver);
}

关于php - 基于 header 的 Varnish 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17726716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com