![无法将 WAF 的 CNAME 记录添加到已有 A 记录的主机名](https://linux22.com/image/771836/%E6%97%A0%E6%B3%95%E5%B0%86%20WAF%20%E7%9A%84%20CNAME%20%E8%AE%B0%E5%BD%95%E6%B7%BB%E5%8A%A0%E5%88%B0%E5%B7%B2%E6%9C%89%20A%20%E8%AE%B0%E5%BD%95%E7%9A%84%E4%B8%BB%E6%9C%BA%E5%90%8D.png)
我有一个指向特定 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
同名记录。没有其他办法。