【问题标题】:Access Denied when accessing non-root url using S3 and Cloudfront使用 S3 和 Cloudfront 访问非根 url 时访问被拒绝
【发布时间】:2021-07-25 17:24:44
【问题描述】:

我有一个关于 AWS s3 和 cloudfront 的问题。 我在 s3 上托管了一个私有页面(vue-app)的构建并通过 cloudfront 访问它(我使用来自 cloudfront-origin 的 OAI 在 S3 存储桶中编写了一个权限。)。一切正常:当我调用根 url (xxx.cloudfront.net/) 时,我可以访问我的 webapp。当我调用这个 url 时,我的 webapp 添加到 root-url: 'app/documents' 并加载内容。 但我假设有时用户会尝试直接访问 url:'xxx.cloudfront.net/app/documents'。到目前为止,这不起作用:我得到一个AccessDenied(来自 S3)。 我该怎么办? 我的目标是当有人进入一个特定的域(不是根域,例如:xxx.cloudfront.net/app/documents/4,他将能够直接访问id为4的文档。这样的事情可能吗?

PS:我已经看过this question 中的答案,但这对我不起作用。如果我使用自定义域,我不会得到我在 S3 的权限文件中使用的 Origin Access Identity(因此只有 cloudfront 可以访问 s3 代码)。 我还看到了this question,这似乎非常相似。这建议将 index.html 附加到每个请求。也许我不知道,但在我的 S3 存储桶中只有一个 index.html(根目录)。这怎么能行呢?

谢谢你,一切顺利, 卢卡斯

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda amazon-cloudfront


    【解决方案1】:

    您需要公开您的 S3 存储桶。

    您可以点击此链接:https://aws.amazon.com/premiumsupport/knowledge-center/read-access-objects-s3-bucket/

    您需要打开 S3 ACL 并公开您的对象。

    【讨论】:

      猜你喜欢
      • 2020-02-29
      • 2015-05-21
      • 2021-06-26
      • 2018-01-16
      • 2021-03-06
      • 2022-01-11
      • 2013-01-03
      • 2019-08-30
      • 2021-01-06
      相关资源
      最近更新 更多