【问题标题】:Cloudfront gives "Access denied" when accessing index document访问索引文档时,Cloudfront 给出“拒绝访问”
【发布时间】:2020-04-14 08:50:47
【问题描述】:

我有一个配置为用作静态网站的 S3 网站,以及一个以 S3 存储桶为源的 Cloudfront 分发。

我的索引文件名为 index,我已将其指定为存储桶配置和 Cloudfront 分发配置中的索引文件。

但是,如果我转到 https://example.com/directory/,我会收到如下错误文档,其中 RequestID 和 HostID 在每个请求中都会更改:

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>7F09A18821FE70FD</RequestId><HostId>H5OR+AZpNSGlhrUX1ECegTbWkio728A1MIdGkO4bkCZIJa/XQ6Uv7Hu0GgNgyxL+snerPPDnzr8=</HostId></Error>

如果我转到https://example.com/directory/index,则页面显示正确。

如果我从云端 URL 或 S3 网站端点访问网站,而不是我的自定义域,则不会发生问题。

如何在访问 S3 存储桶时正确提供目录索引页面?

【问题讨论】:

  • 在文档名称中添加 .html。
  • s3 网站托管仅提供 .html 内容。您可以作为 example.com/directory/index/ 服务,但在 index/index.html 文件夹内必须为其他文件夹呈现。
  • @aviboy2006 S3 可以提供您想要的任何文件名,以及您想要的任何 MIME 类型。
  • 同意。试试这个stackoverflow.com/questions/50299204/…这个设置
  • 请提供完整的错误响应,而不仅仅是“拒绝访问”。

标签: amazon-s3 amazon-cloudfront


【解决方案1】:

将分发的来源从 &lt;bucket-name&gt;.s3.amazonaws.com 更改为 &lt;bucket-name&gt;.s3-website.eu-west-2.amazonaws.com 解决了这个问题。

不幸的是,当我开始在 Origin 设置的下拉菜单中输入内容时,Amazon 开始建议 S3 存储桶,并且它建议使用第一种格式的存储桶。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-06
    • 2020-02-29
    • 1970-01-01
    • 2021-06-26
    • 2018-01-16
    • 2021-07-25
    • 1970-01-01
    • 2017-03-17
    相关资源
    最近更新 更多