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