【发布时间】: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.mybucket和sub2.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