如何将 GoDaddy DNS 迁移到 Cloudflare 获取免费 SSL 和 DDoS 防护

Fred· AI Engineer & Developer Educator5 min read

为什么要迁移到 Cloudflare DNS?

如果你在 GoDaddy 购买了域名,但想要更好的性能和安全功能,切换到 Cloudflare 的 DNS 是明智之选。你可以免费获得以下所有功能:

  • 免费 SSL 证书 - 自动为你的网站启用 HTTPS
  • DDoS 防护 - Cloudflare 保护你的网站免受攻击
  • 更快的 DNS 解析 - Cloudflare 的全球网络速度极快
  • 更好的分析 - 实时查看流量模式和威胁
  • 免费 CDN - 在全球缓存你的静态内容

最棒的是,你不需要转移域名注册。域名仍然在 GoDaddy,你只是更改 DNS 的管理位置。

你需要准备什么

  • 在 GoDaddy 注册的域名
  • 免费的 Cloudflare 账户(在 cloudflare.com 注册)
  • 大约 15-20 分钟时间
  • GoDaddy 账户访问权限

了解迁移流程

以下是我们要做的事情的简单说明:

  1. 从 GoDaddy 导出 DNS 记录 - 获取现有的 DNS 设置
  2. 将域名添加到 Cloudflare - Cloudflare 会扫描并导入你的 DNS
  3. 在 GoDaddy 更新域名服务器 - 将域名指向 Cloudflare 的域名服务器
  4. 验证并激活 - 等待 DNS 传播(通常不到一小时)

你的域名注册仍然在 GoDaddy。你只是更改谁来管理你的 DNS 记录。

步骤 1:从 GoDaddy 导出 DNS 记录

在迁移之前,让我们先看看你目前有哪些 DNS 记录。这很重要,这样我们不会破坏任何东西。

查看当前 DNS 记录

  1. 登录 GoDaddy 访问 godaddy.com

  2. 导航到你的域名:

    • 点击右上角的个人资料图标
    • 选择"我的产品"
    • 在列表中找到你的域名
  3. 打开 DNS 管理:

    • 点击域名旁边的 DNS 按钮
    • 或点击三个点 (...) 并选择"管理 DNS"
  4. 查看你的记录: 你会看到一个包含以下条目的表格:

    • A 记录 - 指向 IP 地址(如 192.168.1.1)
    • CNAME 记录 - 别名(如 www 指向主域名)
    • MX 记录 - 邮件服务器
    • TXT 记录 - 验证码、SPF 记录
    • NS 记录 - 域名服务器(我们稍后会更改这些)

记录你的记录(可选但推荐)

截图或写下你当前的 DNS 记录。你需要这些信息来验证所有内容是否正确转移。

你可能看到的示例:

类型 名称 TTL
A @ 192.0.2.1 600
CNAME www @ 1 小时
MX @ mailhost.example.com 1 小时
TXT @ v=spf1 include:_spf.google.com ~all 1 小时

需要注意的重要记录:

  • A 记录 (@) - 主域名的 IP 地址
  • CNAME (www) - 通常指向根域名
  • MX 记录 - 如果你使用自定义邮箱(如 Google Workspace 或 Microsoft 365)
  • TXT 记录 - 通常用于邮件认证(SPF、DKIM)

步骤 2:将域名添加到 Cloudflare

现在让我们在 Cloudflare 上设置你的域名。

创建 Cloudflare 账户

  1. 访问 cloudflare.com

  2. 注册免费账户:

    • 点击"注册"
    • 输入你的邮箱并创建密码
    • 验证你的邮箱地址
  3. 添加你的域名:

    • 在仪表板上,点击"添加站点"
    • 输入你的域名(example.com)
    • 点击"添加站点"

选择免费计划

  1. Cloudflare 会显示计划选项
  2. 选择免费计划(对大多数网站来说足够了)
  3. 点击"继续"

查看扫描到的 DNS 记录

Cloudflare 会自动从 GoDaddy 扫描你现有的 DNS 记录:

  1. Cloudflare 会显示它找到的所有 DNS 记录

    • 仔细查看这些记录
    • 与步骤 1 中的 GoDaddy 记录进行比较
    • 查找任何缺失的记录
  2. 验证关键记录是否存在:

    • 根域名 (@) 的 A 记录
    • www CNAME 记录
    • MX 记录(如果使用邮箱)
    • 你设置的任何自定义子域名
  3. 手动添加任何缺失的记录: 如果 Cloudflare 遗漏了某些内容,点击"添加记录"并输入:

    • 类型:A、CNAME、MX、TXT 等
    • 名称:@ 表示根域名,www 表示 www 子域名,或自定义子域名
    • 内容:IP 地址、域名或其他值
    • TTL:自动即可
    • 代理状态:橙色云用于网络流量,灰色用于仅 DNS
  4. 确认一切正确后点击**"继续"**

快速参考:Cloudflare 代理状态

  • 橙色云(已代理):流量通过 Cloudflare 的 CDN 和 DDoS 防护。用于 Web 服务器(HTTP/HTTPS)。
  • 灰色云(仅 DNS):直接连接,绕过 Cloudflare。用于邮件服务器、FTP、SSH、游戏服务器等。

默认设置:

  • Web 流量的 A 记录:橙色云(已代理)
  • MX 记录:自动为灰色(Cloudflare 强制执行)
  • 邮件相关记录:灰色云(仅 DNS)

步骤 3:在 GoDaddy 更新域名服务器

这是将域名指向 Cloudflare 的关键步骤。

获取 Cloudflare 域名服务器

添加 DNS 记录后,Cloudflare 会显示两个域名服务器。它们看起来像这样:

aldo.ns.cloudflare.com
beatriz.ns.cloudflare.com

**记下这些或保持浏览器标签页打开。**你马上会需要它们。

在 GoDaddy 更改域名服务器

  1. 返回 GoDaddy(保持 Cloudflare 标签页打开)

  2. 导航到域名设置:

    • 进入"我的产品"
    • 找到你的域名
    • 点击域名旁边的三个点 (...)
    • 选择"管理 DNS"
  3. 向下滚动到域名服务器部分:

    • 你会看到"域名服务器"及当前值(通常是 GoDaddy 的域名服务器)
    • 点击"更改"或"管理"
  4. 选择"我将使用自己的域名服务器":

    • GoDaddy 可能显示为"自定义"或"输入我自己的域名服务器"
  5. 输入 Cloudflare 的域名服务器:

    • 用 Cloudflare 的两个域名服务器替换现有的
    • 示例:
      • 域名服务器 1:aldo.ns.cloudflare.com
      • 域名服务器 2:beatriz.ns.cloudflare.com
    • 删除任何额外的域名服务器(你只需要 2 个)
  6. 保存更改:

    • 点击"保存"
    • GoDaddy 可能会显示关于丢失 DNS 设置的警告——这是预期的
    • 确认更改

刚才发生了什么?

你刚刚告诉互联网:"当有人询问 example.com 时,去问 Cloudflare 而不是 GoDaddy 获取 DNS 记录。"

你的域名仍然在 GoDaddy 注册。你仍然向 GoDaddy 支付域名注册费用。但现在 Cloudflare 处理所有 DNS 查询。

步骤 4:在 Cloudflare 验证并激活

现在我们等待互联网跟上。

确认域名服务器更改

  1. 返回 Cloudflare 标签页
  2. 点击"完成,检查域名服务器"
  3. Cloudflare 将开始检查域名服务器是否已更新

等待 DNS 传播

这是无聊的部分。DNS 更改可能需要几分钟到 24 小时才能在全球传播。实际上,大多数更改在 30 分钟到 2 小时内完成。

正在发生的事情:

  • 世界各地的 DNS 服务器正在更新其缓存信息
  • 有些会很快获取更改,有些需要更长时间
  • 你的网站可能暂时对你有效但对其他人无效

检查激活状态

  1. Cloudflare 会在你的网站激活时发送邮件(通常在一小时内)

  2. 在 Cloudflare 仪表板检查状态:

    • 进入你的 Cloudflare 仪表板
    • 查找你的域名
    • 状态将从"待处理"变为"活动"
  3. 手动检查(可选): 你可以使用终端自行验证域名服务器:

    # 检查域名服务器 (Mac/Linux/WSL)
    dig NS example.com +short
    
    # Windows (PowerShell)
    Resolve-DnsName example.com -Type NS

    你应该在结果中看到 Cloudflare 的域名服务器。

步骤 5:在 Cloudflare 启用 SSL/TLS

域名激活后,让我们开启免费 SSL。

配置 SSL/TLS 设置

  1. 在 Cloudflare 仪表板中选择你的域名

  2. 进入 SSL/TLS 部分(左侧边栏)

  3. 选择加密模式:

    • 灵活:Cloudflare 到访客是加密的,Cloudflare 到你的服务器不加密
      • 如果你的服务器没有 SSL,使用此选项
    • 完全:两个连接都加密,但不验证服务器证书
      • 如果你的服务器有自签名证书,使用此选项
    • 完全(严格):完全加密并验证证书
      • 如果你的服务器已有有效 SSL 证书,使用此选项

    **建议:**如果你的服务器还没有 SSL,从"灵活"开始。在托管服务上安装 SSL 证书后升级到"完全(严格)"。

  4. 启用"始终使用 HTTPS":

    • 进入 SSL/TLS → 边缘证书
    • 将"始终使用 HTTPS"切换为开启
    • 这会自动将 http:// 重定向到 https://

启用其他安全功能(可选)

当你在 Cloudflare 中时:

  1. 自动 HTTPS 重写:

    • SSL/TLS → 边缘证书
    • 将"自动 HTTPS 重写"切换为开启
    • 修复混合内容警告
  2. 最低 TLS 版本:

    • 设置为 TLS 1.2 或更高
    • 禁用旧的、不安全的协议
  3. 启用 HSTS(在确信一切正常后):

    • SSL/TLS → 边缘证书 → 启用 HSTS
    • 强制浏览器始终使用 HTTPS
    • **警告:**仅在彻底测试后启用此功能

验证一切正常

确保我们没有破坏任何东西。

测试你的网站

  1. 访问你的网站https://example.com

    • 应该通过 HTTPS 加载(查找锁定图标)
    • 没有证书警告
  2. 测试 www 版本https://www.example.com

    • 也应该使用 HTTPS 工作
  3. 测试 HTTP 重定向http://example.com

    • 应该自动重定向到 HTTPS 版本

测试邮箱(如适用)

如果你在域名上使用自定义邮箱:

  1. 从你的域名发送测试邮件
  2. 接收发送到你域名的测试邮件
  3. 检查邮件是否进入垃圾邮件

如果邮箱出问题,验证 Cloudflare 中的 MX 记录与 GoDaddy 中的原始记录匹配。

检查 DNS 解析

使用在线工具验证 DNS 是否正常工作:

  • WhatsMyDNSwhatsmydns.net

    • 输入你的域名
    • 选择"A"记录类型
    • 检查全球传播情况
  • DNS Checkerdnschecker.org

    • 输入你的域名
    • 查看全球 DNS 传播状态

常见问题故障排除

网站显示"错误 522"或"错误 521"

**问题:**Cloudflare 无法连接到你的服务器。

解决方案:

  1. 验证你的 A 记录指向正确的 IP 地址
  2. 检查你的托管防火墙是否阻止了 Cloudflare
  3. 在服务器防火墙中将 Cloudflare 的 IP 范围加入白名单

SSL 证书错误

**问题:**浏览器显示"你的连接不是私密的"

解决方案:

  1. 等待 30 分钟 - Cloudflare 仍在生成你的证书
  2. 检查 SSL/TLS 模式 - 如果"完全"不起作用,试试"灵活"
  3. 清除浏览器缓存并尝试隐身/私密模式

邮箱停止工作

**问题:**无法发送或接收邮件

解决方案:

  1. 检查 Cloudflare 中的 MX 记录与 GoDaddy 的原始记录匹配
  2. 验证 MX 记录是灰色云(仅 DNS),而不是代理
  3. 检查 SPF 和 DKIM TXT 记录是否正确复制
  4. 等待完整的 DNS 传播(最多 24 小时)

网站加载缓慢或间歇性

**问题:**网站性能比以前差

解决方案:

  1. 等待 DNS 传播完成(24 小时)
  2. 清除 Cloudflare 的缓存:仪表板 → 缓存 → 清除所有内容
  3. 检查缓存规则是否正确配置
  4. 验证 Web 流量的代理状态(橙色云)已启用

Cloudflare 中显示"域名服务器未更改"

**问题:**更新 GoDaddy 后 Cloudflare 仍显示"待处理"

解决方案:

  1. 等待更长时间 - DNS 更改可能需要 24 小时
  2. 验证你在 GoDaddy 中正确输入了域名服务器(没有拼写错误)
  3. 尝试在 GoDaddy 中删除并重新添加域名服务器
  4. 清除本地 DNS 缓存:
    # Mac
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    
    # Windows (以管理员身份运行 PowerShell)
    ipconfig /flushdns
    
    # Linux
    sudo systemd-resolve --flush-caches

那转移域名本身呢?

目前,你的域名仍然在 GoDaddy 注册,你只是使用 Cloudflare 进行 DNS 管理。这完全没问题,效果很好。

如果你想将域名注册转移到 Cloudflare(这样所有东西都在一个地方),这个选项是可用的:

将域名转移到 Cloudflare(即将推出)

Cloudflare 以批发价提供域名注册(无加价)。好处包括:

  • 更低的价格 - 只支付 Cloudflare 向注册商支付的费用
  • 无追加销售 - 无续费涨价或隐藏费用
  • 免费 WHOIS 隐私 - 始终包含
  • 统一管理 - 所有内容在一个仪表板中

转移流程:

  1. 在 GoDaddy 解锁你的域名
  2. 从 GoDaddy 获取授权码(EPP 码)
  3. 在 Cloudflare 发起转移
  4. 支付转移费用(包含 1 年续费,按批发价)
  5. 等待 5-7 天完成转移

**注意:**域名转移会将你的注册延长 1 年,所以你不会损失已经支付的任何时间。

我将很快编写关于域名转移的详细指南。目前,仅使用 Cloudflare 进行 DNS 管理效果很好,可以获得所有安全优势。

今后的最佳实践

现在你已经在 Cloudflare 上了,以下是一些建议:

安全设置

  1. 启用 WAF(Web 应用防火墙):

    • 安全 → WAF
    • 为你的平台(WordPress 等)启用托管规则集
  2. 启用 Bot Fight 模式:

    • 安全 → 机器人
    • 为你的网站提供免费的机器人缓解
  3. 设置页面规则:

    • 规则 → 页面规则
    • 创建缓存静态内容、重定向等规则

性能优化

  1. 启用自动压缩:

    • 速度 → 优化
    • 勾选 JavaScript、CSS 和 HTML
  2. 启用 Brotli 压缩:

    • 速度 → 优化
    • 更小的文件大小 = 更快的加载
  3. 配置浏览器缓存 TTL:

    • 缓存 → 配置
    • 将"浏览器缓存 TTL"设置为 4 小时或更长

监控

  1. 定期检查分析:

    • Cloudflare → 分析和日志
    • 查看流量模式和被阻止的威胁
  2. 设置邮件通知:

    • 通知
    • 获取安全事件或系统问题的警报
  3. 查看安全事件:

    • 安全 → 事件
    • 查看 Cloudflare 阻止了什么

快速参考清单

迁移 DNS 时使用此清单:

  • 记录 GoDaddy 中的当前 DNS 记录
  • 创建免费 Cloudflare 账户
  • 将域名添加到 Cloudflare
  • 查看并验证导入的 DNS 记录
  • 记下 Cloudflare 的域名服务器
  • 在 GoDaddy 更新域名服务器
  • 等待 DNS 传播(检查邮件确认)
  • 在 Cloudflare 配置 SSL/TLS
  • 启用"始终使用 HTTPS"
  • 测试网站通过 HTTPS 加载
  • 测试邮箱功能(如适用)
  • 全球验证 DNS 传播
  • 启用额外的安全功能
  • 设置性能优化

总结

将 DNS 从 GoDaddy 迁移到 Cloudflare 非常简单,可以免费获得企业级安全和性能功能。你的域名仍然在 GoDaddy 注册,所以你可以继续在那里管理续费,但你可以获得 Cloudflare 全球网络的所有优势。

整个过程实际上需要大约 15-20 分钟,加上一些等待 DNS 传播的时间。一旦激活,你的网站将更快、更安全,你将对流量和安全事件有更好的可见性。

关键要点:

  • DNS 迁移与域名注册是分开的
  • 从 Cloudflare 获得免费 SSL 证书和 DDoS 防护
  • 如果仔细规划并验证 DNS 记录,不会有停机时间
  • 随时可以通过将域名服务器改回 GoDaddy 来恢复

如果在迁移过程中遇到任何问题,Cloudflare 的支持文档非常出色,他们的社区论坛也非常活跃。慢慢来,仔细检查 DNS 记录,你很快就能在 Cloudflare 上运行了。

后续步骤

现在你的 DNS 已经在 Cloudflare 上了,你可能想要:

Fred

Fred

AUTHOR

Full-stack developer with 10+ years building production applications. I've been deploying to Cloudflare's edge network since Workers launched in 2017.

Need a developer who gets it?

POC builds, vibe-coded fixes, and real engineering. Let's talk.

Hire Me →