AWS CLI - 为什么我的 S3 存储桶文件看起来像是加密的?



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

通过 URL 或 S3 终端节点访问网站工作正常:

  • https://www.tearelaw.co.nz/
  • http://www.tearelaw.co.nz.s3-website-ap-southeast-2.amazonaws.com

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

使用相同的命令和 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(。

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

任何帮助将不胜感激!

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

我在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来压缩它们的实用程序。

最新更新