我目前在一个Varnish服务器后面运行一个网站,它包含一些适用于Internet Explorer 6的浏览器条件。不幸的是,Varnish在不考虑条件的情况下caching它提供的第一个版本。 有什么办法可以configuration它为IE6用户有不同的caching?
谢谢
我不认为这个逻辑应该在VCL中实现。
如果原始服务器在基于用户代理的同一个URL上提供不同的内容,那么它应该发布一个合适的头文件 – 例如Vary:Accept-Encoding,User-Agent
如果你说原产地提供这个,而Varnish忽略它,那么它就是一个清漆的错误。 如果起源没有提供这样的头文件,那么它就是在原始服务器上运行的代码中的一个错误。
我相信是这样; 可能最好的做法是将请求头转发到Web服务器,这将为每个服务器生成一个单独的版本。