【问题标题】:Multiple websites in the same S3 bucket同一个 S3 存储桶中的多个网站
【发布时间】:2020-03-20 02:03:40
【问题描述】:

我正在尝试在不同文件夹下的同一个 S3 存储桶中托管具有相似子域的多个网站,并使用重定向到每个文件夹的云端分发。

假设我的存储桶是 example.com,我想在 sub1.example.com 托管我的 Angular 网站,在 sub2.example.com 托管另一个网站。我在名为 sub1 和 sub2 的存储桶中为它们中的每一个创建了文件夹。我还创建了原始名称指向 S3 存储桶的云端分发,并将原始路径添加到相应的文件夹。

完成此操作后,如果我尝试访问 sub1.example.com,它可以正常工作。但是,如果我尝试 sub1.example.com/home,我会得到一个带有代码的 404 页面:NoSuchKey。我认为这是因为 S3 正在尝试在存储桶中查找 sub1/home,而不是在 sub1 文件夹中提供 angular 文件。

这是可以纠正的吗?我需要使用单个 S3 存储桶来执行此操作。

【问题讨论】:

  • 用于存储文档和文件的 S3 存储桶不用于网站托管,您想做什么? NoSuchKey 错误是当您输入错误的文件名时出现的,该文件名在存储桶中不存在
  • 您可以在存储桶名称中添加.。为什么不能将sub1.mybucketsub2.mybucket 创建为单独的存储桶?
  • @PriyankaSankhala S3 可用于网站托管,只要任何渲染代码在客户端即可:docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
  • @MatthewPope 我需要创建很多这样的网站,并且已经遇到了 S3 存储桶的 100 个限制。如果这不起作用,我需要请求更多存储桶或通过多个 AWS 进行管理帐户是我读过的。
  • 您可以请求增加最多 1000 个存储桶的帐户限制。除此之外,您可能需要考虑使用 Route 53 来设置您自己的域名以及每个网站的子域。

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


【解决方案1】:

我已经通过关注这些instructions 设法解决了这个问题。在创建云端分发时添加 Default Root Object 并在重定向 404403 的云端分发中添加自定义错误响应后,我能够解决此问题strong> 错误代码到 index.html

【讨论】:

    猜你喜欢
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多