【问题标题】:Not able to server multiple S3 buckets on a single Cloudfront Distribution无法在单个 Cloudfront Distribution 上为多个 S3 存储桶提供服务
【发布时间】:2022-01-03 07:26:57
【问题描述】:

案例:

我有几个存储媒体文件的 S3 存储桶。我想将所有这些 s3 存储桶映射到单个 CF 分布。 (他们的文件应该从不同的路径访问)。

我已经进行了 CF 分配并添加了 2 个存储桶。对于该行为,第一个存储桶位于 Default(*) 上,第二个存储桶位于路径 nature/* 上。

问题:

  1. 我能够访问主存储桶(具有默认行为的存储桶)但无法访问辅助存储桶(具有路径性质/*)。访问二级存储桶的错误是“Access Denied”。

其他详情:

  1. 我的两个存储桶可用于全局访问,CF 正在从 OAI 访问它们。

参考资料:

  1. https://aswinkumar4018.medium.com/amazon-cloudfront-with-multiple-origin-s3-buckets-71b9e6f8936
  2. https://vimalpaliwal.com/blog/2018/10/10f435c29f/serving-multiple-s3-buckets-via-single-aws-cloudfront-distribution.html
  3. https://youtu.be/5r9Q-tI7mMw

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2 amazon-cloudfront


    【解决方案1】:

    您在第二个存储桶中的文件必须以顶级前缀 nature/ 开头,否则将无法解析。 CF 不会删除路由时匹配的路径,它仍然存在。如果您无法将第二个存储桶中的对象移动到 nature/ 前缀中,那么您需要一个 CF 函数从对象键中删除这部分路径,然后再将请求转发到 S3 源。

    【讨论】:

    • 谢谢。我完全错过了必须向存储桶添加顶级前缀的部分。它现在按预期工作。
    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 2020-03-02
    • 2015-12-22
    • 2019-05-05
    • 2015-07-23
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多