如何在gzip头文件中设置内容编码元数据标签?

时间:2017-12-14 05:08:04

标签: apache webpack compression gzip content-encoding

我正在使用webpack的压缩插件来gzip文件的内容(html,js),然后我发布了gzip文件,将扩展名.gz删除到服务器(AWS / Nginx / Apache)。

webpack配置的压缩插件:

new CompressionPlugin({   
  'asset': "[path]",
  'algorithm': "gzip",
  'test': /\.js$|\.css$|\.html$/,
  'threshold': 10240,
  'minRatio': 0.8
})

我尝试过AWS,Nginx和Apache。在AWS上,我必须在上传文件后明确设置内容编码元数据。

在Nginx上有一个更简单的解决方案 - http_gzip_static_module。

location / {
  gzip_static on;
  rewrite ^/?$ /index.html break;
  root /srv/app;
}

通过将gzip_static设置为Nginx服务器,它可以提供正确的Content-Type和Content-Encoding传递给客户端。

所以在AWS和Nginx上都运行正常,我试图在apache服务器上实现相同的功能,但它会导致gzip文件中出现意外的令牌。

调试之后,我开始理解gzip压缩的文件没有内容编码:gzip作为元数据标签,导致浏览器失败的请求。

我想了解webpack压缩插件或webpack中是否有任何方法可以显式添加文件元数据?或任何其他方式我可以处理这个问题。

0 个答案:

没有答案