【问题标题】:How to point a subdomain to the same S3 bucket using Route53?如何使用 Route53 将子域指向同一个 S3 存储桶?
【发布时间】:2019-07-11 17:22:49
【问题描述】:
我正在创建一个托管在 S3 静态网站上的白标网站,用于基于子域的服装店将从数据库中获取不同的数据。但我希望所有人都指向同一个 S3 静态网站,子域的唯一目的是区分徽标和其他一些信息。例如:
store1.maindomain.com
store2.maindomain.com
如何在 Route53 中做到这一点?下面是我的配置,尝试 CNAME 指向 wwww.maindomain.com 不起作用,一直说'404 not found'。
【问题讨论】:
标签:
amazon-web-services
amazon-s3
dns
subdomain
amazon-route53
【解决方案1】:
storeone.atacadapp.com CNAME 将解析到 AWS S3 端点之一,但没有名为 storeone.atacadapp.com 的 S3 存储桶,因此 S3 拒绝该请求。这里的关键是浏览器中使用的主机名是 S3 服务尝试匹配的主机名,而不是某个中间主机名。
我认为您最好的选择是使用CloudFront 创建一个知道您正在使用的所有主机名的发行版。在 CloudFront 中为您的 S3 静态网站注册一个来源。无论使用了哪个已注册的主机名,所有请求都将转发到该 S3 存储桶。
然后在您的应用程序中使用一些代码来识别所使用的主机名并从您的数据库中为该主机名加载属性。在 JavaScript 中使用 window.location.hostname