首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >varnish vcl_recv默认行为

varnish vcl_recv默认行为
EN

Stack Overflow用户
提问于 2015-04-16 01:33:12
回答 1查看 595关注 0票数 1

你能帮我确认vcl_recv在Varnish中的默认行为吗?

default.vcl文件中的vcl_recv定义在应用程序设置中被注释掉。

我们在vcl文件中提供了自定义版本的vcl_recv,但没有指定返回(查找)或查找语句。然而,当尝试访问图像或静态内容时,缓存似乎是合适的。在default.vcl的vcl_recv和用户定义的vcl_recv中定义的内容之上,varnish是否在内部实现了某种逻辑来进行缓存?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-06-03 11:23:30

说明

当您定义一个自定义的VCL (在本例中为vcl_recv)时,Varnish会自动将默认的VCL附加到您的VCL中。

请记住,如果您在VCL中执行了诸如return(lookup)/pass/etc之类的操作,则在执行该行之后将不会执行varnish默认VCL。

来自Varnish docs

它紧跟在任何用户指定的VCL之后执行,并且始终存在。您不能将其删除。

和:

可以考虑复制您自己的VCL中的所有逻辑,或者让Varnish使用默认的VCL。

示例

代码语言:javascript
复制
sub vcl_recv {
      if (req.http.host ~ "dev") {
             return(pass);
      }
}

这不会在缓存中保存主机中有"dev“的任何请求。但它仍然会在缓存中保存任何其他内容。

Extra:

确定varnish是否正常工作的很好的工具:Here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29656953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档