index.html Amazon S3 静态网站被拒绝访问

Access Denied for index.html Amazon S3 static website

我在 Amazon S3 上设置了一个示例静态网站,并向其中添加了一个自定义文件夹,其中包含以下文件:custom-folder/index.html,但是 我在尝试访问 url /custom-folder.

时遇到 Access Denied 错误

索引文档配置为index.html,所以当我访问/custom-folder url时,S3应该服务index.html,但它不起作用。

我该如何解决这个问题?

您似乎使用了错误的 URL 来访问存储桶。 例如,当您启用 S3 中的静态网站托管功能(本例中为 us-west-2)时,您会得到一个 URL,格式如下:

端点:http://bucket-name.s3-website-us-west-2.amazonaws.com

您可以转到 S3 查看您的端点 > 单击您的存储桶 > 存储桶属性 > 静态网站托管 > 应该会显示您的端点。

为了帮助其他人,我在 S3 存储桶上使用了 AWS Cloudfront Distribution。

对我来说,“拒绝访问”问题的解决方案是在 Cloudfront(而不是 S3)中执行 //index.html 重定向。

这是通过在 AWS Cloudfront Distribution 上将“默认根对象”设置为 index.html(并在 S3 中完全禁用“静态网站托管”)来实现的。