问题
Nginx从1.0.15升级到1.12.1后,原来开启的gzip对javascript文件压缩失效了。
原来nginx的gzip相关配置如下
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
解决方法
这里需要先了解下javascript的mime type:
- text/javascript:这是已被废弃的用法。
- application/x-javascript:x表示试验中,由text/javascript迁移到application/x-javascript时用于实验的
- application/javascript:RFC现在官方推荐使用的MIME type。
如果是html5,建议不要再script声明mime type。
从上面的配置可以看出,gzip_types是缺少application/javascript,添加上即可:
gzip_types text/plain text/css text/javascript application/javascript application/x-javascript application/xml image/jpeg image/gif image/png;