【问题标题】:Access Denied for index.html Amazon S3 static website拒绝访问 index.html Amazon S3 静态网站
【发布时间】:2018-06-11 00:04:11
【问题描述】:

我在 Amazon S3 上建立了一个示例静态网站,并在其中添加了一个自定义文件夹,其中包含文件:custom-folder/index.html,但是 我在尝试访问 url /custom-folder 时收到 Access Denied 错误。

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

我该如何解决这个问题?

【问题讨论】:

  • 您使用什么 URL 来访问存储桶?是否类似于:http://examplebucket.s3-website-us-west-2.amazonaws.com/custom-folder/
  • 我使用这个网址:https://s3.amazonaws.com/aws-website-myexamplewebsite/custom-folder 这是我选择“示例静态网站”时亚马逊为我设置的默认网址

标签: amazon-web-services amazon-s3 static-site


【解决方案1】:

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

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

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

【讨论】:

  • 是的!它有帮助。非常感谢 Eytan!
  • 你拯救了我的一天
  • 对此进行更多解释会很好 - 问题是很容易意外使用 s3 REST API 端点,这将导致静态站点子页面上的这些访问被拒绝问题(REST s3 端点对于存储桶并不意味着托管站点)。补充阅读:aws.amazon.com/premiumsupport/knowledge-center/… - 你给出了正确的解决方案,很高兴了解更多关于“为什么”的信息。
【解决方案2】:

如果它对其他人有帮助,我在 S3 存储桶上使用了 AWS Cloudfront Distribution。

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

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

【讨论】:

  • 通常 - 在 AWS 文档中的任何地方都找不到这个,这正是我需要的 - 谢谢!
猜你喜欢
  • 2021-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-04
  • 1970-01-01
  • 2020-10-20
  • 2019-12-22
相关资源
最近更新 更多