Nginx 为什么Safari会显示奇怪的符号而不是HTML内容?

Nginx 为什么Safari会显示奇怪的符号而不是HTML内容?,nginx,safari,varnish,cloudflare,hhvm,Nginx,Safari,Varnish,Cloudflare,Hhvm,如果您使用Safari查看此页面: 您将看到: 每隔一个浏览器都会正确显示内容 此服务器正在使用Mercury,即Varnish+Nginx+HHVM+PHP5-FPM fallback+W3 Total Cache+cloudflare 我已经关闭了CSS和JS缩小,所以不是这样 你知道Safari为什么要这么做吗?这是由于GZIP压缩和基于WebKit的浏览器(Safari、Chrome/Chrome、new Opera)中的一些缺陷造成的。解决方案对我来说是可行的,就是在HHVM端禁用

如果您使用Safari查看此页面:

您将看到:

每隔一个浏览器都会正确显示内容

此服务器正在使用Mercury,即Varnish+Nginx+HHVM+PHP5-FPM fallback+W3 Total Cache+cloudflare

我已经关闭了CSS和JS缩小,所以不是这样


你知道Safari为什么要这么做吗?

这是由于GZIP压缩和基于WebKit的浏览器(Safari、Chrome/Chrome、new Opera)中的一些缺陷造成的。解决方案对我来说是可行的,就是在HHVM端禁用内容压缩,只在nginx中启用。它由GzipCompressionLevel HDF运行时选项控制

Server {
    GzipCompressionLevel = 0
}

php.ini中的
hhvm.server.gzip\u compression\u level=0也应该可以,但我还没有测试过。

你的文件采用哪种编码?它应该是text/html-如果你在chrome、internet explorer或firefox中打开它,URL会按预期工作。不太确定你的数据编码是否正确。尽管如此,我还是建议修复这些错误:很好的一个-我会改变它,然后再给你回复。有道理——看起来像是用文本编辑器打开压缩文件时看到的符号——我应该点击一下。