如何配置 Varnish,以便对匹配“*.css”的请求的所有响应都在客户端的浏览器中缓存 30 天?
我想要实现的是让 Varnish 设置正确的“Expires:”和/或“Cache-Control”设置,以便所有 CSS:s 缓存 30 天,而不管后端对客户端缓存能力的评价如何这些对象。
如何配置 Varnish,以便对匹配“*.css”的请求的所有响应都在客户端的浏览器中缓存 30 天?
我想要实现的是让 Varnish 设置正确的“Expires:”和/或“Cache-Control”设置,以便所有 CSS:s 缓存 30 天,而不管后端对客户端缓存能力的评价如何这些对象。
这可以解决问题:
我认为 Varnish 不会让您将 VCL 规则范围限定为“*.css”。您可能需要在 Varnish 邮件列表中询问有关这方面的确切信息。应该可以按 MIME 类型确定范围。
假设您的对象已经设置了缓存标头但您希望对其进行规范化,那么此 Varnish 文档 VCL 的修改版本应该可以帮助您:http: //varnish.projects.linpro.no/wiki/VCLExampleLongerCaching
一般来说,Varnish 不是为了进行大量的标题或内容重写而构建的。您的 Web 服务器或 Web 应用程序应该比 Varnish 做得更好。
我只需要指出清漆实际上非常适合重写标题。在 vcl_recv 中可以测试任何 url,在 vcl_fetch 中,它是 varnish 的常见应用程序。在 recv 中,您分析传入的请求。在 fetch 中,您分析后端响应。
通常,您在 recv 中操作请求,并将其定向到后端,然后在 fetch 中操作响应,并重写标头以适应,然后将对象潜在地存储在缓存中并传递响应。
在 fetch 你可以做
也
等等。