CNAME Flattening:对位于根处的 CNAME 提供符合 RFC 标准的支持

自 2014 年 3 月 31 日起,Cloudflare 为我们的客户提供了位于根域名(或根)处的自动 CNAME Flattening。根处具有 CNAME 记录的所有客户将安全地处理 DNS 请求,而不会受到 DNS 规范 (RFC) 限制。

我们已在以下文章中分享更多背景和客户案例:  博客文章.

注意:CNAME Flattening 不适用于使用 CNAME 设置的域名。在这些情况下,根域和完整区域不会使用 Cloudflare DNS,因此无法从 CNAME Flattening中获益。

CNAME Flattening的工作原理

Cloudflare 使用 CNAME Flattening将 CNAME 显示为 A 记录。生成响应的 Cloudflare 服务器遵循 CNAME 链,因此客户端(例如,浏览器)对请求的响应仅包含非 CNAME 数据(通常为 IP 地址)。这样将有效地创建 A 或 AAAA 记录。在不使用 Flattening 的情况下,Cloudflare 会将 CNAME 记录直接提供给解析器(即,将域名转变为 IP 地址的 DNS 解析器)。

如果您希望 CNAME 与域一一对应(例如,从 example.com 到 example.herokuapp.com 的 CNAME),但又希望在根位置具有其他类型的 DNS 记录(例如,用于邮件传递的 MX 记录),CNAME 可能会导致出现混乱。呈现时,RFC 要求 CNAME 独立于 DNS 区域,已呈现的示例可能会在接收电子邮件时引起问题,因为 RFC 还要求 MX 记录映射到一个 A 记录而不是一个 CNAME。CNAME Flattening 可确保电子邮件传递,因为 CNAME 会转换为一个 A 记录。

其他一些 DNS 提供商会调用类似功能(不符合 RFC 标准)的 ALIAS 或 ANAME 记录。

CNAME Flattening之前

当您在 Cloudflare DNS 设置中选择“橙色云”选项时,Cloudflare 会保护 CNAME 的身份,并返回 Cloudflare 代理服务器的 IP 地址。

$ dig example.com ;; QUESTION SECTION: ;example.com. IN A ANSWER SECTION: example.com. 0 IN CNAME cf-ssl00000-protected.example.com. cf-ssl00000-protected.example.com. 299 IN A 162.159.253.115 cf-ssl00000-protected.example.com. 299 IN A 162.159.252.116 cf-ssl00000-protected.example.com. 299 IN A 162.159.254.115 cf-ssl00000-protected.example.com. 299 IN A 162.159.253.116 cf-ssl00000-protected.example.com. 299 IN A 162.159.255.115 

CNAME Flattening之后

在此示例中,CNAME example.com 与代理服务器的每个 A 记录相关联。请注意,它们都是上述相同的 A 记录。

$ dig example.com QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 299 IN A 162.159.255.115 example.com. 299 IN A 162.159.254.115 example.com. 299 IN A 162.159.252.116 example.com. 299 IN A 162.159.253.116 example.com. 299 IN A 162.159.253.115 

如果记录为“灰色云”(已为 Cloudflare DNS 设置中的记录禁用 Cloudflare 代理),CNAME Flattening 也会在仅 DNS 处于活动状态时起作用。

Flattening 非根记录

Cloudflare 可为 Pro、Business 和 Enterprise 计划网站提供基于非根 CNAME 记录的 CNAME Flattening。可以在 Cloudflare 仪表板的 DNS 应用中启用适用于非根记录的 CNAME Flattening。

RFC(请求注释)

在 DNS 内使用根位置的 CNAME 进行监管的规范是涉及 Internet 的一些最早决策,包括在 Web 可用之前:

相关内容:

更多相关信息 Cloudflare 的免费 DNS  服务

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持