CNAME Flattening 允许为根域创建 CNAME 记录,而不违反 DNS 规范。
CNAME Flattening 的工作原理
根据 DNS 规范 (RFC),如果两个记录共享相同的名称,则域不能具有一个 CNAME 记录和另一个不同类型的 DNS 记录。DNS RFC 还要求 MX 记录对应于相关的 A 记录,而不是 CNAME。如果您的根需要 CNAME(例如,从 example.com 到 example.herokuapp.com 的 CNAME),但在根域需要其他类型的 DNS 记录(例如用于邮件传递的 MX 记录),则会出现问题。
通常,上述情况会导致接收电子邮件的问题。但是,CNAME Flattening 将确保 CNAME 链后面跟着一个 A 或 AAAA 记录,以允许邮件传递,同时仍然遵守 DNS RFC。缓存 CNAME 响应并遵守 DNS TTL。
如何更改 CNAME Flattening 的设置
Pro 计划、Business 计划和 Enterprise 计划中的域可以将 CNAME Flattening 应用于根域中的 CNAME 或域中的所有 CNAME。要平展(fatten)域中的所有 CNAME,请从 Cloudflare 仪表板的 DNS 应用中 CNAME Flattening 下拉菜单中选择“Flatten all CNAMEs”。