AWS S3提供gzip压缩文件但不可读

时间:2017-08-03 10:22:34

标签: node.js amazon-web-services amazon-s3 gzip content-encoding

我正在使用AWS S3来托管静态网页,几乎所有资产都在上传之前进行了压缩。

在上传过程中,“content-encoding”标头被正确设置为“gzip”(这也反映了从AWS实际加载文件的时间)。

问题是,虽然设置了正确的标题,但是文件无法读取并且仍然是gzip格式...

使用file request上传文件,这里是请求的截图:

file contents

以及浏览器中文件的内容:

{{3}}

如果我手动上传文件并将内容编码标题设置为“gzip”,则效果非常好。遗憾的是,每次部署都要上传几百个文件,并且不能一直手动执行此操作(我希望这是可以理解的;))。

有谁知道这里发生了什么?任何人都使用s3-deploy并且可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

我使用自己的bash脚本进行S3部署,你可以尝试这样做:

webpath='path'
BUCKET='BUCKETNAME'

for file in $webpath/js/*.gz; do
        aws s3 cp "$file" s3://"$BUCKET/js/" --content-encoding 'gzip' --region='eu-west-1'
done