为什么我需要在 AWS 中为 www 子域请求映射单独的 s3 存储桶?

为什么我需要在 AWS 中为 www 子域请求映射单独的 s3 存储桶?

我有一个关于 DNS 如何与 AWS s3 bucket 协同工作的问题,我正在尝试理解。我对 DNS 和 AWS 有一定的了解,但我不明白为什么我的路由解决方案没有像我预期的那样工作。我是一个大师级的程序员,但我的网络知识足以让我陷入麻烦。

我有一个在 route53 中托管的域名(我们称之为 foo.com),我创建了一个 s3 bucket 来托管一个静态网站,并将域名映射到该 bucket。我想确保www.foo.com也登陆那里,所以我创建了一个 CNAME 来映射www.foo.com到 foo.com。我本以为这会导致对 www 子域的请求落到存储桶上,但事实并非如此。

我去查阅了一个教程,AWS 推荐的模式是创建第二个 s3 bucket,名为www.foo.com,并将传入呼叫重定向到 foo.com 存储桶,然后在 DNS 中创建 A 记录以指向www.foo.com桶。

我这样做了,一切或多或少都有效(存储桶路径显示在 URL 中,ick),但我很好奇为什么我的解决方案不起作用。它似乎稍微简单一些。我是否忽略了一些显而易见的东西?如果我想为每个子域提供不同的内容/S3 存储桶,通过 A 记录映射子域非常有意义,但如果我只是尝试将 www 请求映射回根目录,CNAME 解决方案看起来更简洁。

奖励积分:我应该只使用 Cloud Front 来管理它吗?它看起来稍微复杂/昂贵一些,所以我还没有真正深入研究过它。我想知道 AWS 是否正在使用这种看起来奇怪的存储桶重定向模式,因为他们真的希望人们使用更细致入微的路由方式,比如 CF。

相关内容