我的注册商告诉我,我不能拥有不以 www 开头的 CNAME 记录。这是真的吗?
因此,我正在使用具有负载平衡功能的 amazon ec2。负载平衡器具有复杂的 DNS 名称,并明确告诉您使用 CNAME 将请求发送到该 DNS 名称,而不是 A 记录。
myloadbalancer-1234567890.us-west-1.elb.amazonaws.com(A 记录)
注意:由于与 LoadBalancer 关联的 IP 地址集会随时间而变化,因此您永远不应创建包含任何特定 IP 地址的“A”记录。如果您想为负载均衡器使用友好的 DNS 名称,而不是由 Elastic Load Balancing 服务生成的名称,则应为 LoadBalancer DNS 名称创建 CNAME 记录,或使用 Amazon Route 53 创建托管区域。有关更多信息,请参阅将域名与 Elastic Load Balancing 结合使用。
我购买了一个域名。注册商不允许您自己添加记录,只能通过电子邮件向他们发送请求。因此他们设置了 CNAME 记录
mydomain.org SOA 111 whatever
www.mydomain.org CNAME 3596 myloadbalancer-1234567890.us-west-1.elb.amazonaws.com
当我问他们为什么不适用于 时www
,注册商回答说,在没有 的情况下,创建 CNAME 记录存在技术障碍www
。这是真的吗?还是他们无能/撒谎,我应该更换注册商?
答案1
CNAME(别名)记录指向 A(主机)记录。您可以创建多个 CNAME 记录并将它们指向 A 记录。最常用的 CNAME 记录是子域 www,每个提供商都支持它。您也可以使用 Route53 创建 A 或 CNAME。它支持“www”。
干杯!!
测试的解决方案:
更新 - 为了解决您的问题,您可以使用路由 53 为 ELB 创建 A 记录,使用根域(例如“example.com”)和 CNAME 作为 www.example.com。
答案2
CNAME 资源记录不能指向区域,RFC1034:“如果节点上存在 CNAME RR,则不应存在其他数据;这确保了规范名称及其别名的数据不能不同。”因此,您不能拥有 CNAME 和名为 mydomain.org 的 SOA,所以它们部分正确。
但是,www 并不特殊,它只是一个字符串,并且您的注册商应该允许您指定该字符串应该是什么,例如 myserver.mydomain.org。
答案3
这简直是胡说八道。CNAME 记录可以像 A 记录一样任意。这种废话加上他们需要电子邮件来更改记录的事实,显然是在暗示要逃跑!
编辑:为避免混淆:让 CNAME 指向区域本身(例如,example.com
而不是www.example.com
,这被称为 Apex)是不可能的,但我认为您想使用其他www
名称,例如myserver.example.com
)。