首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使Varnish清除URL的所有变体?

要使Varnish清除URL的所有变体,您需要配置Varnish以识别并缓存URL的基本版本,并在处理请求时忽略URL的变体。以下是一种实现此目的的方法:

  1. 在Varnish配置文件中,使用vcl_recv函数处理请求。
  2. vcl_recv函数中,创建一个新的变量,例如req.url.basename,用于存储URL的基本名称。
  3. 使用regsubregsuball函数从请求的URL中提取基本名称,并将其存储在req.url.basename变量中。
  4. 使用hash_data函数将req.url.basename添加到缓存键中,以便Varnish可以识别URL的基本版本并缓存它。
  5. 在处理响应时,使用vcl_backend_response函数将req.url.basename添加到响应的缓存标头中。
  6. 在处理请求时,使用vcl_deliver函数将req.url.basename添加到响应的缓存标头中。

以下是一个示例配置,演示了如何实现这些步骤:

代码语言:txt
复制
sub vcl_recv {
    set req.url.basename = regsub(req.url, "\?.*", "");
    hash_data(req.url.basename);
}

sub vcl_backend_response {
    set beresp.http.url.basename = req.url.basename;
}

sub vcl_deliver {
    set resp.http.url.basename = req.url.basename;
}

这个配置将使Varnish清除URL的所有变体,并仅缓存URL的基本版本。您可以根据需要进一步定制此配置,以适应您的特定需求。

推荐的腾讯云相关产品:腾讯云CDN(内容分发网络)和腾讯云对象存储(COS)。

腾讯云CDN产品介绍链接地址:https://cloud.tencent.com/product/cdn

腾讯云对象存储(COS)产品介绍链接地址:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Squid缓存代理服务器安装部署

1、代理的工作机制 作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能。当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机需要访问的页面,则由代理服务器向Internet发送访问请求,当获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机。 HTTP代理的缓存加速对象主要是文字、图像等静态Web元素。使用缓存机制后,当客户机在不同的时候访问同一Web元素,或者不同的客户机访问相同的Web元素时,可以直接从代理服务器的缓存中获得结果。这样就大大减少了向Internet重复提交Web请求的过程,提高了客户机的Web访问响应速度。 由于客户机的Web访问请求实际上是由代理服务器来代替完成的,从而可以隐藏用户的真实IP地址,起到一定的保护作用。另一方面,代理服务器担任着类似“经纪人”的角色,所以有机会针对要访问的目标、客户机的地址、访问的时间端进行过滤控制。

01

干货 | 携程图片服务架构一、服务架构二、 小结

作者简介:胡健,携程框架高级研发经理,目前负责多媒体服务的构建和研发工作。 近些年携程业务突飞猛进,用户遍及世界各地。公司对用户体验也越来越重视,每一个小的功能改动、页面改版的背后,都有大量的A/B实验提供保障。与此同时,与用户体验息息相关的媒体文件的应用质量也被放到重要位置,如图片加载延时、成功率、清晰度等数据。 本文将分享携程图片服务架构,包括 服务架构的演变过程,以及在生产上实际遇到的一些问题,避免大家重复踩坑。   一、服务架构 1、初始阶段 携程图片的服务架构主要经历了三次比较大的调整。早些年为了

05
领券