如何为web和Amazon CloudFront手动创建gzip文件

如何为web和Amazon CloudFront手动创建gzip文件,web,gzip,amazon-cloudfront,Web,Gzip,Amazon Cloudfront,我有一个3MB.wasm文件,我正试图使用gzip压缩它,并在AmazonCloudFront上使用。目前CloudFront不支持自动压缩.wasm文件类型 我使用了gzip filename.wasm,但从CloudFront获取时,输出的结果在我的代码中不起作用。我在别处读到该文件缺少一些文件头 所以我的问题是,如何手动gzip一个.wasm文件,以便在web上使用并从CloudFront获取 谢谢 您可以使用gzip压缩文件,并使用--content-type-application/w

我有一个3MB.wasm文件,我正试图使用gzip压缩它,并在AmazonCloudFront上使用。目前CloudFront不支持自动压缩.wasm文件类型

我使用了
gzip filename.wasm
,但从CloudFront获取时,输出的结果在我的代码中不起作用。我在别处读到该文件缺少一些文件头

所以我的问题是,如何手动gzip一个.wasm文件,以便在web上使用并从CloudFront获取


谢谢

您可以使用gzip压缩文件,并使用
--content-type-application/wasm--content-encoding gzip
将其上载到s3,而不使用
.gz
后缀。当该文件随后通过cloudfront提供时,它将返回gzip并由浏览器读取

以下是使用brotli的示例:

WASM_FILE=$(ls dist/ | grep '.wasm$');
brotli-cli dist/*.wasm
BROTLI_FILE=$(ls dist/ | grep wasm.br);
mv dist/$BROTLI_FILE dist/$WASM_FILE

aws s3 cp dist/*.wasm s3://$S3_BUCKET/ \
  --content-encoding br \
  --content-type application/wasm

等等-那么您手动
gzip
该文件,并试图通过CloudFront获取该文件,但它没有解压缩?几个问题:(1)压缩/解压缩是否正确(即:压缩后的文件是否可以在不经过CloudFront的情况下工作)?(2) 您是否在测试尝试之间使对象的CloudFront缓存无效?(CloudFront只是其核心的一个简单缓存—它不会修改文件的内容—可能您正在接收一个较旧的缓存副本)