跳到主要内容

《林一的 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 控制台 → 选择你的域名 → 左侧菜单 DNSSettings
  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