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

时间:2016-01-25 20:59:05

标签: amazon-web-services amazon-ec2 dns amazon-route53

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

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

  • CustomerABC.com指向Route 53的一个托管区域
  • CustomerDEF.com指向另一个进入Route 53的托管区域
  • 两个托管区域都有一个指向同一EC2服务器实例的A记录

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

我不想为每个新客户创建一个新的托管区域。有没有办法达到同样的效果?

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

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

这是互联网上成千上万家企业普遍遇到的问题,您只需告诉他们将自己的域名指向您的服务器,然后确定哪个客户是哪个。通过使用HTTP Servername字段之类的东西,或者使用某种方式将其与其他用户区分开来的身份验证过程。

到目前为止,最简单的方法是拥有一条指向所有客户的CNAME记录。根据您的业务模型,为每个客户提供自定义CNAME,一些随机唯一ID非常有用,因此,如果您将来需要扩展和移动客户端,您可以一次执行一个数字。

环顾您的竞争对手,或者只是围绕其他拥有类似网络模型的企业。了解他们如何设计基础架构并模拟它。但是,采用整个DNS区域是一个非常糟糕的主意。