Nginx gzip对javascript文件压缩无效

问题

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;

参考:application/javascript or application/x-javascript

版权声明:著作权归作者所有。

相关推荐

nginx配置Basic认证

最近在搭建kibana时,发现kibana是没有提供认证功能,所以想到给它加一个认证,最简单的就是basic auth认证。下面记录下nginx配置basic认证的过程。添加Basic Auth认证需要先创建密码文件,这里使用htpasswd。如果没有找到htpasswd命令,可以先安装httpd-tools。安装httpd-toolsyum install 

Android无损压缩图片方法

这是把图片以无损的方式压缩。public String compressImage(String imageUri) { String filePath = getRealPathFromURI(imageUri); Bitmap scaledBitmap = null; BitmapFactory.Options options =

nginx配置gzip压缩

配置在nginx.conf的http节点,添加gzip配置如下:http {   gzip on;   gzip_min_length 1k;   gzip_buffers 4 16k;   gzip_comp_level 2;   gzip_types text/plain text/c

Nginx配置WebSocket

Nginx配置WebSocketserver {     listen       80;     server_name  example.com;     location&