if (req.url == "/") {
return(pass);
}
这是否允许我们仅在主页上取消清漆(例如:www.prism.com)而不是其他页面,例如www.prism.com/product?
我认为这也会起作用,但我不确定,上面的是更好的选择吗?
if (req.url ~ "") {
return(pass);
}
我只想让它跳过主页上的缓存,因为我们使用它为所有用户设置 cookie。我需要修改缓存,因为我意识到一些用于生成 cookie 的代码在高峰时段不起作用。
答案1
以下代码确实是绕过主页缓存的正确方法:
if (req.url == "/") {
return(pass);
}
但是,请考虑此操作的影响。主页是大多数用户的入口点。无法缓存它将严重影响您的性能。
问题是:您在主页上设置了什么样的 cookie?
- 这个 cookie 真的需要吗?
- 是否可以由 Varnish 合成并创建 cookie?
- 是否可以用 Javascript 设置 cookie?
请考虑您的选择并尝试寻找一个解决方案,其中最重要的页面仍然被缓存。
作为副作用,您需要编写必要的 VCL 来处理Cookie
被视为可缓存的传入请求的请求标头。