Наиболее вероятной причиной является нормализация заголовка Accept-Encoding, и Firefox, и Chrome отправляют разные. Добавьте это к вашему sub vcl_recv ():
if (req.http.Accept-Encoding) {
if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") {
# No point in compressing these
remove req.http.Accept-Encoding;
} elsif (req.http.Accept-Encoding ~ "gzip") {
set req.http.Accept-Encoding = "gzip";
} elsif (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
# unkown algorithm
remove req.http.Accept-Encoding;
}
}
Это также задокументировано в руководстве Varnish для заголовка "Vary" .