如何通过 HTTP 访问 S3 存储桶?

How to access S3 bucket through HTTP?

我在 public 子网中有一个使用默认 NACL 的 EC2 实例,并尝试通过互联网连接到 S3 存储桶。我的 EC2 具有允许访问此 S3 存储桶的 IAM 角色。 S3 存储桶没有存储桶策略。

我想通过 HTTP 而不是 HTTPS 连接到此 S3(用于测试目的)。为此,我将安全组的出站规则更改为仅接受 80 端口。

当我尝试访问此 S3 时,请求卡住了。

当我将安全组的出站规则更改为仅接受 443 端口时,连接正常。

enter image description here

有人知道为什么端口 80 不工作吗?如何通过 HTTP 访问 S3 存储桶?

谢谢

如果我理解你的问题,你会想要这样的东西:

aws --endpoint-url http://s3.us-west-1.amazonaws.com s3 ls s3://your-bucket

端点 URL 来自 this page 上的 Amazon S3 端点。所有 AWS cli 命令默认为 HTTPS。您必须指定要切换到 HTTP 的端点。