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