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重定向http到https

Nginx重定向http到https:方法一【推荐】使用响应码301,301内容参考HTTP 301 Moved Permanently。server {     listen         [::]:80;  &nb

Nginx配置WebSocket

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

Nginx使用upstream配置负载均衡

nginx主要使用upstream配置多个服务器,设置负载均衡策略。基本配置upstreamupstream example.com{    server host1;    server host2;  }  serverserver {     listen 90;

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

C#对DataTable做LINQ查询

我们是不能直接对DataTable做LINQ查询,DataRowCollection是没有实现IEnumerable<T>。有一些方法可以间接实现对DataTable执行LINQ查询。AsEnumerable()使用DataTable的扩展AsEnumerable(),把DataTable转换为IEnumerable<DataRow>。var results&nb

Android无损压缩图片方法

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

nginx配置Basic认证

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