跳到主要内容

《林一的 Cloudflare 通关记》第 1 篇-初来乍到,老张的第一份"见面礼"——域名与 DNS

· 阅读需 19 分钟

《林一的 Cloudflare 通关记》第 1 篇

一个实习生,一个架构师,一个从零开始的 AI 网站。故事,从给网站"起名字"开始。

最近开始捣鼓 cloudflare,这个互联网赛博大善人,上面免费提供了各种好用的服务,在使用的过程中,我就在想,这么多的服务,如何才能都用起来呢? 实践过程中也遇到了一些问题,于是我就想分享一下,但是过于枯燥的文档估计也不爱看,于是我就想通过一系列的小故事,将 cloudflare 的免费服务串联起来,并使用 AI 来进行加工润色,我不避讳使用 AI,有了AI 的加持,可以让文章更加的顺畅,效率也更高,所以这个系列的文章我一般都会使用 AI 来加工一下。希望对大家有所帮助吧。

一、新人的第一天​

林一背着双肩包,提前半小时到了星火科技的办公室。

说是办公室,其实就是高新区一个联合办公空间里的四个工位。公司加上他一共六个人——CEO、产品经理小王、架构师老张、两个开发、一个兼行政的前台姑娘。

作为刚毕业的实习生,林一的心情是既兴奋又忐忑。兴奋的是终于可以参与真实项目了,忐忑的是面试时老张说了一句"我们用 Cloudflare 搭全套基础设施",他当时连连点头,回来一搜发现 Cloudflare 的中文资料不算多,赶紧恶补了两天。

"来了?"老张从工位上抬起头,推了推眼镜,"坐,先别急着开电脑。"

林一刚坐下,老张就丢过来一个问题:"你知道咱们公司要做什么吗?"

"AI 智能助手平台,用户可以在上面用各种 AI 功能。"林一背书似的回答。

"对。那你知道第一步该干什么吗?"

林一想了想:"搭框架?写代码?"

老张摇了摇头:"你盖房子第一步是搞装修?不得先打地基?"

"打地基……是指买服务器?"

"更基础。"老张在白板上写了一个词——域名。"你的网站得先有个名字,互联网上的人才能找到你。这就像你开了家店,得先挂个招牌。"

林一心想,买域名嘛,这还不简单,随便找个注册商花几十块钱的事。

但老张显然不打算就这么放过他。


二、DNS 不多说了,重点说说为什么选 Cloudflare​

"域名买好了,DNS 解析的事你应该清楚吧?"老张问。

"当然,"林一点头,"域名通过 DNS 指向服务器 IP,用户才能访问到。跟通讯录一个道理——输入名字,找到号码。"

"行,原理不废话了。但你知道市面上 DNS 服务商那么多,我为什么偏偏选 Cloudflare 吗?"

老张在白板上列了三个名字:Cloudflare、DNSPod、阿里云 DNS。

"这三个你都用过哪个?"

"DNSPod 用过,"林一说,"之前给学校社团的网站配过解析,腾讯云下面的,挺方便。"

"方便是方便,但你知道免费版的限制吗?"

林一愣了一下。

先说结论:免费 DNS 很多,但 Cloudflare 是唯一一个"全家桶"入口​

老张在白板上画了一张图:

                    ┌─────────────┐
│ 你的域名 │
│ 托管在 CF │
└──────┬──────┘
│
┌────────┬───────┼───────┬────────┐
▼ ▼ ▼ ▼ ▼
Pages Workers R2 KV D1
(前端) (后端API) (存储) (缓存) (数据库)
│ │ │ │ │
└────────┴───────┴───────┴────────┘
│
自动绑定域名,零配置

把域名托管在 Cloudflare 后,Pages / Workers / R2 / KV / D1 等服务一键打通、零配置(全家桶生态)

"看到没有?"老张敲了敲白板,"Cloudflare 不只是一个 DNS 服务商,它是一整套基础设施平台。你把域名托管在 Cloudflare 上,后面要用 Pages 部署前端、用 Workers 跑后端 API、用 R2 存文件、用 KV 做缓存、用 D1 建数据库——所有这些服务的域名绑定,都是一键完成的。"

"什么意思?"林一没太跟上。

"意思是你后面部署一个 Workers 服务,想给它绑个 api.xinghuo-ai.com 的子域名,在 Cloudflare 后台点几下就行了——DNS 记录自动创建、SSL 证书自动签发、CDN 加速自动生效。整个过程零配置。"

"如果我用的不是 Cloudflare DNS 呢?"

"那你就得这么干——"老张掰着手指头数,"先在 Cloudflare 部署好服务,拿到一个 xxx.workers.dev 的地址;然后跑到你的域名注册商后台,手动加一条 CNAME 记录指向它;再去 Cloudflare 这边配置自定义域名;如果还要 HTTPS,得自己申请证书或者配 Let's Encrypt……每用一个 CF 服务,就得重复一遍这套流程。"

林一脸都皱了:"那也太麻烦了。"

"所以这就是第一个也是最重要的理由——把域名放在 Cloudflare,后面整个系列文章里用到的所有服务,域名打通都是零摩擦的。"

其他几个硬核优势​

Cloudflare DNS 与国内 DNS(DNSPod / 阿里云)的核心优势对比

"当然,光靠生态打通还不够。Cloudflare 的 DNS 本身就是业界顶级水平。"老张继续说。

1. Anycast 全球网络,解析快到离谱

国内 DNS 服务商的节点主要在国内,海外用户解析要走更远的路。Cloudflare 在全球 320+ 个城市有数据中心,用户不管在哪里,DNS 查询都能就近响应——平均解析延迟在 10ms 以内。

💡 国内类比:DNSPod 和阿里云 DNS 在国内节点覆盖很好,国内用户的解析速度甚至可能比 Cloudflare 更快(因为 Cloudflare 在大陆没有节点)。但如果你面向的是全球用户,或者后续要用 Cloudflare 的 CDN/Workers 等服务,Cloudflare 的全球网络优势就体现出来了。

2. 免费版没有任何查询限制

Cloudflare 的免费 DNS 计划:无限 DNS 查询、无限 DNS 记录(免费版上限 200 条,对绝大多数网站绰绰有余)、Anycast 全球网络、DNSSEC——全包含,没有任何查询次数限制。

国内 DNS 服务商的免费版通常有功能差异。比如 DNSPod 免费版不支持负载均衡、不支持 DNSSEC;阿里云 DNS 免费版也有子域名数量限制。要用这些高级功能,得升付费版。

3. 1.1.1.1——全球最快的公共 DNS 解析器

除了权威 DNS(管理你的域名记录),Cloudflare 还运营着 1.1.1.1 这个公共递归 DNS 解析器,和 Google 的 8.8.8.8 类似,但更快。它还承诺不记录用户 IP、不卖给广告商——隐私方面比 Google 做得更彻底。你的用户可以把他们的设备 DNS 改成 1.1.1.1,获得更快的上网体验。

4. DNSSEC 免费一键开启

DNSSEC(DNS 安全扩展)用密码学签名防止 DNS 劫持。Cloudflare 免费版就支持一键开启,而很多国内 DNS 服务商要么不支持 DNSSEC,要么需要付费版才能用。

林一听完,若有所思:"所以选 Cloudflare 的逻辑是——DNS 是入口,进来了后面一整套服务都是顺滑的?"

"聪明。"老张竖了竖大拇指,"DNS 是地基,地基选对了,上面盖什么都顺手。"


三、DNS 记录:先认几个"老面孔"​

"既然要托管到 Cloudflare,"老张拉过键盘,打开了 Cloudflare 的官方文档,"你把常用 DNS 记录类型先过一遍。不用全记,核心的几个搞清楚就行。"

常用 DNS 记录类型速查:A / AAAA / CNAME / MX / TXT / NS

A 记录​

把域名指向一个 IPv4 地址。最常用的记录类型,比如把 xinghuo-ai.com 指向 192.0.2.1。你的网站能被人访问,靠的就是这条记录。

AAAA 记录​

和 A 记录一样,只不过指向的是 IPv6 地址。四个 A 代表 IPv6——IPv6 地址是 128 位的,比 IPv4 的 32 位长,所以多写了几个 A(助记法,不是严格定义)。随着 IPv4 地址耗尽,IPv6 越来越重要,建议两条都配上。

CNAME 记录​

把一个域名指向另一个域名(而不是 IP)。比如把 blog.xinghuo-ai.com 指向 xinghuo-ai.com,改的时候只改一处就行。后面用 Cloudflare Pages 和 Workers 绑定自定义域名时,底层就是自动帮你加 CNAME 记录。

MX 记录​

邮件交换记录,告诉别人"发到这个域名的邮件请投递到这个邮件服务器"。没有 MX 记录你的域名就收不到邮件。后面我们搞 Email Routing 的时候会用到。

TXT 记录​

文本记录,可以在 DNS 里塞任意文本。最常用来做域名所有权验证——比如你申请 SSL 证书时,证书机构会让你加一条特定内容的 TXT 记录来证明域名是你的。另外 SPF、DKIM、DMARC 等邮件防伪记录也通过 TXT 实现。

NS 记录​

名称服务器记录,指示"这个域名的权威 DNS 服务器是谁"。你把域名托管到 Cloudflare 时,本质上就是在注册商那里把 NS 记录改成 Cloudflare 分配给你的那两个。

"还有 SRV、CAA、PTR、SOA 之类的,"老张摆摆手,"用到的时候再查文档。你先把这六个搞清楚就够了。"

林一一一记下。


四、实操:把域名托管到 Cloudflare​

"理论差不多了,"老张关掉文档页面,转过身来,"该动手了。你去注册个 Cloudflare 账号,把咱们的域名加进去。"

把域名托管到 Cloudflare 的五步流程

第 1 步:注册账号并添加站点​

林一打开 Cloudflare 官网(cloudflare.com),用邮箱注册了一个账号。登录后,点击右上角的 Add a Site(添加站点),输入公司刚买的域名 xinghuo-ai.com。

第 2 步:选择计划​

Cloudflare 会让你选择服务计划。从 Free 到 Enterprise 共四档,果断选 Free。

"Free 够用吗?"林一有点犹豫。

"免费版的 DNS 功能和付费版没有区别,"老张说,"都是 Anycast 全球网络、无限 DNS 查询、DNSSEC——全包含。付费版多的是 WAF 高级规则、图片优化、更详细的 Analytics 之类的增值功能,后面需要的时候再升级也不迟。"

第 3 步:检查自动导入的 DNS 记录​

选完计划后,Cloudflare 会自动扫描域名当前的 DNS 记录并尝试导入。

"这一步很关键,"老张说,"Cloudflare 会扫描你域名当前的所有 DNS 记录并导入。这样你切换过来之后,原来的记录不会丢。一定要逐一检查,确认没有遗漏。"

林一仔细看了看,扫描出来了三条记录:一条 A 记录指向公司服务器 IP,一条 MX 记录指向之前的邮件服务,一条 TXT 记录是之前做的域名验证。都在,没问题。

第 4 步:获取 Cloudflare 分配的名称服务器​

点击继续后,Cloudflare 显示了两个分配给这个域名的权威名称服务器(Nameserver),类似这样:

dina.ns.cloudflare.com
elliot.ns.cloudflare.com

"每个账号拿到的 NS 名称都不一样,"老张提醒,"要完整复制,一个字母都不能错。"

第 5 步:到域名注册商修改 NS​

林一登录了买域名的注册商后台,找到域名的 DNS 设置 / 名称服务器设置,把原来的 NS 删掉,换成 Cloudflare 给的两个。

"这里有几个坑要注意,"老张在旁边掰着手指头说:

坑一:DNSSEC。 如果你之前在注册商那里开启了 DNSSEC,一定要先关掉。DNSSEC 是用密码学签名来验证 DNS 记录真实性的机制——切换 NS 时旧签名和 Cloudflare 的新签名对不上,会导致域名解析失败。等 Cloudflare 那边域名状态变成 Active 之后,再在 Cloudflare 里重新开启 DNSSEC 就行。

坑二:DNS 传播。 改了 NS 之后不是立即生效的。DNS 记录有 TTL(Time to Live,生存时间),旧的缓存要等 TTL 到期才会刷新。通常几分钟到几小时,最长可能 24 小时。你可以用 dig 命令检查:

# macOS / Linux
dig ns xinghuo-ai.com @1.1.1.1

也可以用在线工具 whatsmydns.net 查看全球各地的 DNS 解析状态。

坑三:记录要全。 在改 NS 之前,确保 Cloudflare 里已经有了所有需要的 DNS 记录。如果你切过来但漏了某条记录——比如忘了加 MX 记录——那邮件服务就会中断。

林一照着老张的指导操作完,回到 Cloudflare 点击 Check nameservers now,开始等待。

"现在等着就行,"老张靠在椅背上,"快的几分钟,慢的几小时。趁这个时间,我给你讲个更重要的概念。"


五、橙色云朵 vs 灰色云朵:代理状态的秘密​

"你在 Cloudflare 的 DNS 管理页面里,"老张说,"每条 A、AAAA 或 CNAME 记录旁边都会有一个小云朵图标,橙色或灰色。你知道这是什么意思吗?"

林一摇头。

"这叫代理状态(Proxy Status),是 Cloudflare 最核心的概念之一。搞不懂这个,后面的很多功能你都理解不了。"

橙色云朵(Proxied)与灰色云朵(DNS Only)两种代理状态的对比

橙色云朵(Proxied / 已代理)​

当你把一条记录设为 Proxied,Cloudflare 会在用户和你的服务器之间"插入"自己。用户查询你的域名时,DNS 返回的不是你服务器的真实 IP,而是 Cloudflare 的 Anycast IP 地址。所有流量都会先经过 Cloudflare 的全球网络,然后再转发到你的服务器。

这样做的好处是:

  • 隐藏真实 IP:攻击者拿不到你服务器的 IP,没法直接打你的服务器
  • CDN 加速:静态内容会被 Cloudflare 缓存在全球边缘节点,用户就近获取
  • DDoS 防护:Cloudflare 在边缘节点就能挡掉攻击流量,不让它到达你的服务器
  • WAF 防火墙:可以在 Cloudflare 层面设置安全规则,过滤恶意请求

灰色云朵(DNS Only / 仅 DNS)​

Cloudflare 只负责 DNS 解析,返回你服务器的真实 IP。流量直接到你的服务器,不经过 Cloudflare 的代理。

适用场景:邮件服务器(MX 记录)、域名验证(TXT 记录)、非 HTTP 服务等。这些服务如果走 Cloudflare 代理反而会出问题,因为 Cloudflare 代理只处理 HTTP/HTTPS 流量。

"简单说,"老张总结道,"凡是用浏览器访问的 HTTP/HTTPS 流量,都建议开橙色云朵。邮件、验证之类的,保持灰色。Cloudflare 在你添加域名时默认就是橙色,一般不用改。"

"那 Proxied 模式下,TTL 是多少?"林一注意到一个细节。

"好问题。Proxied 记录的 TTL 固定为 Auto(300 秒),不能改。这是因为 Cloudflare 返回的是 Anycast IP,如果 IP 有变更,300 秒的 TTL 能保证快速生效。而 DNS Only 模式下,TTL 可以自定义,从 30 秒到 1 小时都行。"

💡 国内类比:Cloudflare 的代理模式类似于国内"CDN + 高防 IP"的组合。在国内做同样的事情,你可能需要分别购买 CDN 服务(如阿里云 CDN、腾讯云 CDN)和 DDoS 高防服务,然后还要自己对接。Cloudflare 免费版就把这些打包在一起了。

不过要注意,Cloudflare 在中国大陆没有节点,国内用户访问走的是海外节点,延迟会比国内 CDN 高。如果你的网站主要面向国内用户,可以考虑"国内 CDN + Cloudflare DNS"的组合方案——DNS 用 Cloudflare(免费、快),CDN 用国内的(国内速度快)。如果主要面向海外用户,Cloudflare 是最优选择。

林一恍然大悟。他之前一直以为 Cloudflare 就是个 DNS 服务商,没想到 DNS 只是个入口,代理模式才是它真正的杀手锏——一个橙色云朵按钮,背后是 CDN、DDoS 防护、WAF、缓存一整套基础设施。

"而且你记住,"老张补充道,"后面咱们用 Pages 部署前端、用 Workers 跑后端的时候,绑定的自定义域名默认就是 Proxied 状态。Cloudflare 的整套生态是围绕代理模式设计的——DNS 托管是入场券,代理模式是基础设施,后面的服务都是在这个基础上一层层叠上去的。"


六、DNSSEC:给 DNS 加把锁​

等了大约二十分钟,Cloudflare 后台显示域名状态变成了 Active。林一松了口气。

"别急着高兴,"老张说,"还有最后一步——开启 DNSSEC。"

"DNSSEC 是什么来着?我好像在哪见过……"

没有 DNSSEC 时 DNS 明文查询会被中间人劫持;开启 DNSSEC 后密码学签名可验证真伪

"DNS Security Extensions,DNS 安全扩展。"老张解释道,"传统的 DNS 查询是明文的,没有验证机制。中间人可以伪造一个 DNS 回答,把你的域名指向一个假 IP——用户以为访问的是你的网站,其实进了钓鱼网站。这就是 DNS 劫持。"

"DNSSEC 就是用密码学签名给 DNS 记录'签字画押'。开启之后,即使有人伪造了 DNS 回答,解析器也能验出签名不对,拒绝接受假结果。"

在 Cloudflare 中开启 DNSSEC 的步骤:

  1. 进入 Cloudflare 控制台 → 选择你的域名 → 左侧菜单 DNS → Settings
  2. 找到 DNSSEC 卡片,点击 Enable DNSSEC
  3. 弹窗会显示一个 DS 记录的信息,包含:Key tag、Algorithm、Digest type、Digest
  4. 把这些信息添加到你的域名注册商的 DNSSEC 设置里(注册商后台一般有专门的 DNSSEC 管理入口)
  5. 等待生效,通常几小时内完成

"Cloudflare 默认使用 Algorithm 13(ECDSA Curve P-256 with SHA-256),"老张补充道,"这是目前推荐的加密算法。如果你用的是 Cloudflare Registrar(Cloudflare 自己的域名注册服务),DS 记录会自动添加,不需要手动操作。"

"国内域名注册商有些不支持 DNSSEC,"老张又说,"如果你用的是 .cn 之类的域名,可能没法开启。但 .com、.net 这些主流后缀都没问题。"


七、小结:林一的第一天​

下班前,老张让林一总结一下今天干了什么。

林一掰着手指头数:

  1. 搞清楚了为什么选 Cloudflare——不只是 DNS 快,更是因为域名托管在 CF 后,后续 Pages、Workers、R2、KV、D1 等服务都能一键绑定域名、零配置打通
  2. 了解了 Cloudflare DNS 的核心优势——Anycast 全球网络、免费无限查询、DNSSEC 免费开启、1.1.1.1 公共解析器
  3. 认了几个常用 DNS 记录类型——A、AAAA、CNAME、MX、TXT、NS
  4. 把域名托管到了 Cloudflare——添加站点 → 导入记录 → 修改 NS → 等待生效
  5. 理解了代理状态——橙色云朵(Proxied):流量经 Cloudflare 代理,隐藏 IP + CDN + 防护;灰色云朵(DNS Only):仅 DNS 解析,返回真实 IP
  6. 开启了 DNSSEC——用密码学签名防止 DNS 劫持

"不错,"老张点了点头,"第一天能搞明白这些,可以了。"

林一正准备收拾东西走人,老张又叫住了他:"对了,你试试用浏览器访问一下咱们的域名。"

林一打开浏览器,输入 http://xinghuo-ai.com,页面倒是能打开——但浏览器地址栏弹出了一个醒目的"不安全"警告。

"看到了吧?"老张摇了摇头,"你的网站现在是在裸奔。用户的数据全在明文传输,密码、对话内容,谁截获了谁就能看。明天,我教你给它穿上盔甲。"


本篇知识点回顾

知识点说明
为什么选 Cloudflare DNS域名托管在 CF 后,后续所有 CF 服务(Pages/Workers/R2/KV/D1)可一键绑定域名,零配置打通;Anycast 全球网络、免费无限查询、DNSSEC 免费
国内 DNS 对比DNSPod/阿里云 DNS 国内节点速度快,但免费版有功能限制;Cloudflare 全球覆盖更广但大陆无节点,适合面向全球用户或使用 CF 全家桶的场景
常用 DNS 记录A(IPv4)、AAAA(IPv6)、CNAME(域名指向域名)、MX(邮件)、TXT(文本/验证)、NS(名称服务器)
Cloudflare DNS 托管添加站点 → 导入记录 → 修改 NS → 等待生效
代理状态Proxied(橙色云朵):流量经 Cloudflare 代理,隐藏 IP + CDN + 防护;DNS Only(灰色云朵):仅 DNS 解析,返回真实 IP
DNSSEC用密码学签名防止 DNS 劫持,切换 NS 前需先关闭,切换后重新开启

动手挑战

如果你有自己的域名,试试把它托管到 Cloudflare:

  1. 注册 Cloudflare 账号,添加你的域名
  2. 检查自动导入的 DNS 记录是否完整
  3. 在域名注册商后台修改 NS 记录为 Cloudflare 分配的名称服务器
  4. 等待域名状态变为 Active
  5. 开启 DNSSEC
  6. 在 DNS 管理页面,把 A 记录的代理状态设为 Proxied(橙色云朵)

下回预告

域名搞定了,但老张说"你的网站现在是在裸奔"——什么意思?下篇,老张要给网站穿上"盔甲",也就是 SSL/TLS 加密。林一将第一次接触到 HTTPS 的底层原理,理解 SSL/TLS 握手过程中对称加密和非对称加密是怎么配合的,以及 Cloudflare 的三种 SSL 模式到底该怎么选。

敬请关注《林一的 Cloudflare 通关记》第 2 篇:网站"裸奔"太危险——SSL/TLS 加密初体验。

wp