【问题标题】:Serving two S3 buckets from the same domain [duplicate]为来自同一域的两个 S3 存储桶提供服务 [重复]
【发布时间】:2019-05-05 15:19:59
【问题描述】:

是否可以使用指定原始存储桶的路径为单个域中的两个(或更多)S3 存储桶提供服务?

例如:

  • cdn.domain.com/images 将从桶 bucket-images 提供服务
  • cdn.domain.com/files 将从桶 bucket-files 提供服务

如果可能,如何配置 CloudFront 分发以使其正常工作?

【问题讨论】:

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


    【解决方案1】:

    您可以从多个存储桶提供这些不同的内容,但由于 S3 ARN 或对象 URL 本身就是一个 FQDN(域名),CloudFront 允许您为每个分配选择多个来源。通过改变它的行为。

    请按照此文档设置您的 CloudFront 分配:https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-distribution-serve-content/

    完成此操作后,您可以简单地将此 CloudFront URL 映射到 Rout 53。

    如果您在设置时遇到任何问题,请告诉我。

    我可以帮你解决这个问题。

    【讨论】:

    • 好的,我阅读了这篇文章,我正在尝试完成这项工作,但无济于事,而且 CF 分发需要大约 30 分钟。更新每个更改都没有帮助。我正在尝试使用密钥 profiles/{user-id}/profile.jpgcdn.domain.com/images/profiles/{user-id}/profile.jpg 映射到 S3 对象,该密钥托管在名为 S3BucketImages 的 S3 存储桶上。如何正确地做?
    • 这回答了我的问题:stackoverflow.com/questions/31567994/…
    【解决方案2】:

    不是直接的解决方案,但解决方案是使用CORS。这允许您跨多个 S3 存储桶托管您的网站内容。

    您可以将图像存储在图像存储桶中,将 javascript 存储在另一个存储桶中,将 html 存储在其他存储桶中。 CORS 允许这些存储桶相互访问,就好像它们在同一个存储桶中一样。

    但是,您必须在网站路由方面做更多工作和/或使用 API 网关让特定存储桶与您网站中的特定路径相关。

    【讨论】:

      猜你喜欢
      • 2017-09-18
      • 1970-01-01
      • 2020-03-02
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      相关资源
      最近更新 更多