使用Hyper Cache后出现两个Vary: Accept-Encoding

使用Hyper Cache后,页面的http header出现了两个Vary:Accept-Encoding,这是什么原因呢?

Vary: Accept-Encoding
Vary: Accept-Encoding
Cache-Control: public, max-age=864000
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=UTF-8
Date: Fri, 18 Sep 2020 07:20:57 GMT
Server: nginx
Transfer-Encoding: chunked
Vary: Accept-Encoding
Vary: Accept-Encoding
X-Hyper-Cache: hit - plain
X-Powered-By: PHP/7.4.10

Hyper Cache启用后,会在生成的缓存http header增加一个Vary: Accept-Encoding,如果你的服务器如LAMP的apache或者lnmp的nginx设置了压缩输出,则会出现这个问题。

解决办法是把apache或者nginx的压缩输出设置在vhosts里面,不要全局设置即可。

参考资料:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注