我有一个指向特定 IP 方向(类型 A 记录)的域名(例如 example.com),DNS 系统由我的组织控制。现在,一个新的 Web 应用程序已在 news.example.com 上发布。由于它位于云服务提供商上,为了保持轻松访问,我们在托管 DNS 上请求了一条新的 A 记录,该记录应创建为将名称 news.example.com 指向云提供商为主机分配的 IP 地址。
之后,我们想在 news.example.com 网站前面部署 WAF 来保护它。云服务提供商要求我创建一个新的 CNAME,将 news.example.com 指向云提供商提供的目标字符串,以便流量首先通过 WAF 路由。但是,CNAME 记录创建过程失败,因为它显示there already exists an A record associated
。
CNAME 记录示例:
origin (news.example.com) - this one has already an A record pointing to its IP address.
target: xxx.yyyy.zzz.www. (info provided by Cloud Service Provider)
Type: CNAME
如何解决这个问题?我遗漏了什么?
答案1
CNAME
记录不能与其他记录类型共存,请参阅RFC 1912。以下区域数据是不正确:
@ORIGIN example.com.
www IN A 192.0.2.1
www IN CNAME ccc
因此,不可能CNAME
在区域的顶点添加真实记录。这是因为SOA
顶点总是有记录,CNAME
不可能单独存在,因此是禁止的。(此外,必须至少有一个NS
记录,这种情况在 RFC 中进行了讨论。)
一些云提供商模拟这种“CNAME
在顶点”的行为,但实际上他们是使用以编程方式生成的区域来实现的,而不是真正使用CNAME
,至少不是在顶点。
如果要添加CNAME
,就必须删除A
同名记录。没有其他办法。