DNSpipe理:使用Amazon负载均衡器将mydomain.com路由到www.mydomain.com

我错误地在stackoverlow中问了这个问题,但是在这里可能更有意义。

我的应用程序是在亚马逊,我正在使用他们的EC2负载均衡器。 亚马逊在他们的网站上说:

DNS Name: XXXXXXXX.us-east-1.elb.amazonaws.com Note: Because the set of IP addresses associated with a LoadBalancer can change over time, you should never create an "A" record with any specific IP address. If you want to use a friendly DNS name for your LoadBalancer instead of the name generated by the Elastic Load Balancing service, you should create a CNAME record for the LoadBalancer DNS name. For more information about CNAME records, see the CNAME Record Wikipedia article. 

我创build了一个CNAMElogging主机www映射到DNS上面的负载均衡器。 http://www.mydomain.com转发到正确的应用程序。 (凉)

但是,我注意到,当我键入mydomain.com而不是http://www.mydomain.com它将转到默认Alogging映射到一个不同的IP而不是负载均衡器。 我该如何解决? 我希望www.mydomain.com和mydomain.com都能使用同一个负载平衡器。 我想我需要在DNS中这样做,对吧?

注意:我通过ping两个地址来validation上述内容。

我希望www.mydomain.com和mydomain.com都能使用同一个负载平衡器。

你不能。 这是一个已知的devise限制,它来自Amazon Elastic Load Balancer(ELB)的实施方式以及DNS的长期deviseselect。

您无法为您的裸二级域名创buildCNAME条目。 即yourdomain.com必须是直接指向IP地址的A-Record。

但是,Amazon的ELB依赖于由Amazon创build的自定义DNS和EC2平台,这需要您的DNS条目为指向您的Amazon ELB域名(例如XXXXXXXX.us-east-1.elb.amazonaws.com )的CNAME。

总而言之,这基本上意味着您只能在ELB上使用第三级域名,例如www.yourdomain.comblog.yourdomain.com 。 这些都必须是CNAMES,指向你的ELB实例。

所以对于裸二级域名yourdomain.com (@)本身,你必须:

  • 做一个logging
  • 在HTTPredirect器中指向这个Alogging
  • 让redirect器发出临时或永久的HTTPredirect到您要使用的完全限定的域名。

几乎任何体面的域名注册商或DNS主机应该有一个免费或非常便宜的方式来做到这一点。 你也可以自己做,通过运行一个networking服务器上的EC2实例,但为什么打扰…

我不知道GoDaddy的用户界面,因为我从来没有使用过他们自己。 但是,fx Gandi有免费的HTTPredirect称为“Web Forwarding”,GoDaddy似乎有一个“ 站点redirectpipe理器 ”。

在现实生活中,这对terminal用户来说不是问题。 一段时间后,所有的search引擎索引和所有的最终用户书签将指向www.yoursite.com ,所以通过yoursite.com进入并redirect的用户数量将会很小。 而对于那些用户来说,这是一个短暂的延迟(可能是100-200毫秒),而且应该只发生一次。