AWS 多个域指向同一台服务器

AWS Multiple domains pointing to same server

我正在构建一个将提供给多家公司的解决方案。任何公司都必须将他们的域(或只是一个子域)指向我的服务器,然后我将为他们的客户处理页面。

我正在使用以下配置对其进行测试:

也就是说,每个想要使用我的服务的客户都必须将其域的 DNS 更改为他在我的 Route53 中自己的托管区域。我的服务器将处理许多域。

我不想为每个新客户都创建一个新的托管区域。有什么方法可以达到相同的结果吗?

  1. Elactic Load Balancer 放在您的应用程序实例前面(即使您一开始只使用一个实例)。
  2. 使用您的域(该区域不必托管在 Route53 上),创建一个 CNAME(或别名)记录(例如 myapp.example.com)和 point it to your load balancer's domain name.
  3. 只需告诉您的客户将他们的子域 CNAME 到您的应用 DNS 名称即可

如果我想与之开展业务的企业告诉我需要在我的 DNS 上创建一个新区域来访问应用程序,我会很快将我的业务转移到其他地方!特别是如果他们想要控制该区域,那么允许这样做会带来很大的安全问题。如果您提出要求,您几乎肯定会失去业务。

对于互联网上成千上万的企业来说,这是一个普遍解决的问题,您只需告诉他们将他们的域指向您的服务器,您就可以确定哪个客户是哪个。通过使用类似于 HTTP Servername 字段的东西,或者通过某种方式将他们与其他用户区分开来的身份验证过程。

到目前为止,最简单的方法是使用 CNAME 记录将所有客户指向该记录。根据您的业务模型,为每个客户提供自定义 CNAME(一些随机的唯一 ID)可能很有用,因此如果您将来需要扩展和移动客户,您可以一次为他们提供一个号码。

看看你的竞争对手,或者只是一般地看看其他具有类似网络模型的企业。了解他们如何设计并效仿他们的基础设施。但是占用整个 DNS 区域是一个非常糟糕的主意。