Varnish 和浏览器异常

Varnish 和浏览器异常

我目前在 Varnish 服务器后面运行一个网站,它包含一些适用于 Internet Explorer 6 的浏览器条件。不幸的是,Varnish 缓存了它提供的第一个版本,而没有考虑这些条件。我有什么办法可以将其配置为针对 IE6 用户使用不同的缓存?

谢谢

答案1

我认为该逻​​辑不应该在 VCL 中实现。

如果原始服务器根据用户代理在同一 URL 上提供不同的内容,则应该发出合适的标头 - 例如 Vary: Accept-Encoding, User-Agent

如果您说源端提供了此信息而 Varnish 忽略了它,那么这就是 Varnish 的一个错误。如果源端没有提供这样的标头,那么这就是源服务器上运行的代码的一个错误。

答案2

我相信如此;可能最好的办法就是将请求标头转发到 Web 服务器,Web 服务器将为每个请求标头生成一个单独的版本。

相关内容