【问题标题】:AWS CLI - Why do my S3 bucket files look like they're encrypted?AWS CLI - 为什么我的 S3 存储桶文件看起来像是已加密?
【发布时间】:2020-05-25 13:22:56
【问题描述】:

我正在使用 S3 托管一个静态网站,具有相当标准的配置 - 一个包含一堆 HTML/JS/CSS 文件的存储桶,启用了公共读取访问,并启用了静态网站托管。

通过 URL 或 S3 Endpoint 访问网站可以正常工作:

但是,当尝试通过 aws s3 sync s3://www.tearelaw.co.nz ./ 之类的命令从存储桶下载文件时,文件看起来像乱码。以 UTF-8 格式打开文件会给我一堆随机字符 like this,这让我相信它们可能已被加密(或只是在传输过程中损坏?)。

使用相同的命令和 AWS 配置在同一个 AWS 账户上下载另一个存储桶,完全可以正常工作。似乎只是这个桶。

到目前为止,我已经尝试过:

  • 以各种格式(UTF-8、UTF-16 LE/BE 等)打开文件。
  • 检查存储桶上的默认加密是否禁用
  • 检查index.html 文件上的对象级加密是否禁用
  • 使用不同的--region 变体进行下载。

我在 Windows 10 PC 上使用最新版本的 AWS CLI (aws-cli/1.17.13 Python/3.6.0 Windows/10 botocore/1.14.13)。

我缺少一些存储桶级加密选项吗?

任何帮助将不胜感激!

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-cli


    【解决方案1】:

    您的文件似乎是以 gzip 格式 提供的。这在网站上很常见,可以最大限度地减少带宽需求。网络浏览器知道如何解压缩内容。

    我在 Mac 上执行了以下操作(抱歉,我知道您使用的是 Windows):

    aws s3 cp s3://www.tearelaw.co.nz/static/img/logo.min.png .
    mv logo.min.png logo.min.png.gz
    gunzip logo.min.png
    

    logo.min.png 文件随后可以作为普通 png 打开。

    网页本身也是如此:

    aws s3 cp s3://www.tearelaw.co.nz/practice-areas/index.html .
    mv index.html index.gz
    gunzip index
    

    index 文件随后可以作为包含 HTML 的文本文件读取。

    为什么是这种格式?好吧,将文件放入 Amazon S3 存储桶的人可能是故意这样做的,或者使用了使用 gzip 的实用程序来压缩它们。

    【讨论】:

    • 非常感谢约翰!我检查了我的静态网站构建脚本,它确实在将所有文件上传到 S3 之前预先 gzip 压缩了所有文件。这些文件现在都可以正确打开。那真是令人头疼!
    猜你喜欢
    • 2017-06-26
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    相关资源
    最近更新 更多