【发布时间】:2013-05-22 22:51:13
【问题描述】:
现状
我在 GitHub 上有一个项目,该项目在每次提交 Travis-CI 后构建。每次成功构建后,Travis 都会将工件上传到 S3 存储桶。有什么方法可以让任何人轻松访问存储桶中的文件吗?我知道我可以生成一个只读访问密钥,但用户通过他们的网络浏览器访问文件会更容易。
我已使用“。”的根文档启用网站托管。设置。
但是,我在尝试访问存储桶的端点时仍然收到 403 Forbidden。
问题
如何让用户从他们的 Web 浏览器轻松浏览和下载存储在 Amazon S3 上的工件?最好没有第三方客户端。
【问题讨论】:
-
上传的文件是否设置了
x-amz-acl: public-read标头? -
原则上,您甚至不需要启用网站托管来通过 HTTP 访问文件。如果您设置公开阅读,则默认情况下是这样。 “网站托管”唯一添加的是一些便利,例如指定索引文档和错误文档以及让您的存储桶名称成为存储桶的主机名的能力(以丢失 HTTPS 为代价)。
-
简而言之,如果您在文件上设置
x-amz-acl: public-read,那么您可以将其作为https://s3.amazonaws.com/bucket-name/path-to-file访问。无需启用网站托管,除非您想要漂亮的主机名并支持索引和错误文档。 -
@MerynStol 我正在寻找一种解决方案,用户可以转到
https://s3.amazonaws.com/bucket-name/并浏览存储桶中的所有文件(或类似文件)。 -
1.使用 s3.amazonaws.com 主机名,我认为根本不支持“索引文件”。 2.如果您使用“网站托管”选项,我认为您必须自己创建所有索引文件。我认为除了在管理控制台上之外,没有任何功能可以在目录中提供文件“列表”。
标签: amazon-s3