lmk123 / blog

个人技术博客,博文写在 Issues 里。
https://github.com/lmk123/blog/issues
623 stars 35 forks source link

将域名的 DNS 记录从 DNSPod 迁移到 Cloudflare 踩坑日志 #100

Open lmk123 opened 2 years ago

lmk123 commented 2 years ago

书接上文:#99

在上文中,我提到我需要把 limingkai.cn 从 DNSPod 迁移到 Cloudflare 来使用页面跳转功能。本来以为只是改一下 nameservers 的事情,没想到也踩了很多坑。

我的域名是在阿里云注册的,所以当然是去阿里云修改 nameservers(阿里云里叫 DNS 服务器)了。把 nameservers 改成 Cloudflare 的之后阿里云提示我”修改任务正在运行中“,然后大概五分钟后我刷新了一下页面,这个提示就没有了;大概 15 分钟后,Cloudflare 发邮件告诉我域名已经由它们接管了。

然后,我开始设置页面跳转规则,但是死活不生效——我 Google 了好长时间,尝试了各种组合,hcfy.limingkai.cn 就是不能 301 跳转到 hcfy.app。

我开始怀疑是不是 Cloudflare 的 Page Rules 功能挂了,于是我新增了一条 test.limingkai.cn 的 DNS 记录,用 A 指向 114.114.114.114 然后给它设置跳转规则 302 到谷歌首页,然后打开浏览器试了一下——浏览器直接报了“找不到 DNS 记录”的错误。

这就很匪夷所思了,ping 了一下果然是同样的提示——但我明明在 Cloudflare 上设置了 IP 指向 114.114.114.114。

——难不成 DNS 根本就没有转移到 Cloudflare 里,仍然在 DNSPod 里?

然后我又在 DNSPod 里新增了一条 testdnspod.limingkai.cn 用 A 记录指向 114.114.114.114,ping 了一下之后——成功返回了 IP 地址。

我浪费了几个小时到底是为了什么……

阿里云没有再提示“任务执行中”且 Clouflare 也发了邮件告诉我域名解析生效了,但事实上却没有生效,我有点没太懂这是为什么。而且,之前将 hcfy.app(在 namecheap 里修改的 nameservers) 从 DNSPod 里转到 Cloudflare 的时候只用了 5 分钟就生效了。

阿里云的文档上说生效需要 48 小时,但这没法解释 Cloudflare 为什么说生效了。我只能猜测这个生效过程可能是逐步地区生效的,可能在国外查询到已经生效了,但是在国内查询的还没生效。

到现在我也没法确定到底生效了没有,只能明天再尝试一下增加 DNS 记录试试看了。

更新:已正常解析到 Cloudflare

距离我修改阿里云的 name servers 大概过去了 10 个小时,现在已经正确解析到 Cloudflare 上去了,URL 跳转也能正常生效;DNSPod 也终于显示“解析异常”了。

后记

在这次 DNS 迁移中,有几个值得注意的点: