解决方案:事实证明这不是我的配置/ NGINX 错误 - 我的 DNS 提供商 cloudflare 出于某种原因阻止字体被 GZipped
我正在使用安装了 GZIP_Static 模块的 NGINX。
我正在尝试通过 GZip 提供我的 .SVG/.TTF @FONT-FACE 字体文件,因为这样文件大小会减少约 50%。我已将以下 mimetypes 添加到 mime.types 文件中:
image/svg+xml svg;
application/x-font-ttf ttf;
font/opentype otf;
application/vnd.ms-fontobject eot;
font/x-woff woff;
字体都放在一个文件夹中,因此我首先尝试设置文件夹特定的 gzip 设置,如下所示:
location /sites/default/files/fontyourface/local_fonts/ {
gzip_types image/svg+xml application/x-font-ttf font/opentype ;
}
这不起作用,所以我尝试将 Mime 类型添加到 nginx.conf 中的“通用”gzip_types 定义中 - 但这也不起作用。
我已经手动压缩了字体文件,以便可以使用 GZIP_Static。但这也没用。
关于我做错什么/如何设置 NGINX 以返回仅 .SVG 和 .TTF 文件的 GZIP 版本,您有什么想法吗?
答案1
如果 TTF 使用以下 mime 类型之一进行传输,CloudFlare 只会对其进行 gzip 压缩:
- 字体/ttf
- 应用程序/ttf
- 应用程序/x-ttf
来源:https://support.cloudflare.com/hc/en-us/articles/200168396-What-will-CloudFlare-gzip-