在Cloudflare托管域名?无法摆脱的CF解析两大坑! 作者: bluish 时间: 2024-04-19 分类: 未分类 Cloudflare向来备受好评,我对CF好感不错,所以前前后后在CF上注册了三个域名,想着以后国外的域名托管都放在CF平台。 众所周知,CF提供免费的CDN分发,但国内的速度堪忧,于是我尝试着优化速度,便遭遇了接下来的两大重击。 ##CloudFlare优选IP:无法修改DNS服务器的域名 虽然CF整体在国内的速度不理想,但有部分IP地址相对较优,于是就有了自选IP这一概念。 简单来说,就是通过CF的SaaS服务,借用一个工具人性质的域名,将要使用的域名与它关联,然后在支持分运营商解析的DNS服务商处,将各个运营商的A记录解析IP设置为对应CF中较优的IP,将默认CNAME记录解析到工具人域名。具体方法参照:[Cloudflare免费自选IP教程][1] 这个方法具有可行性,需要用的东西实际上就是两个域名、支付验证(银联卡或Paypal)、支持分运营商解析的DNS服务商(华为云、阿里云)。前面提到,我要使用的域名实在CF上注册的,就需要将DNS服务器修改到阿里云上,第一个坑就出现了——**Cloudflare无法修改DNS服务器。** ![2024-04-18T16:12:10.png][2] 我在外网搜寻一番后,得出来的结论是,停放在Cloudflare无法修改DNS服务器,永永远远只能用CF解析,唯一的方法就是**迁出它**。当然新域名要等60天…… ##三方CDN之谜:无法关闭的根域名CNAME拉平 抱着要优化速度的执念,既然CF不能用,那就换一个CDN。由于域名没备案,所以国内的CDN都用不了,兜兜转转试了两三个亚太CDN。但令人疑惑的出现了,明明官方的测试站点解析出的都是香港、日本、台湾节点,而我的香港服务器怎么会跑去美国、加拿大呢。或许套餐低了?或许这个服务商有猫腻?于是乎再换一个,仍旧是相同的情形。这就是CF的第二个坑导致的——**根域名CNAME自动拉平。** > 根据[RFC1912][3],域名根目录不得存在CNAME记录,因为根目录下的CNAME记录会使得整个域名的MX邮箱记录、TXT域名验证记录等全部失效。 因此,CloudFlare推出了拉平根目录CNAME的功能,通过CloudFlare的服务器,将CNAME解析为A记录,避免了冲突问题。 但是有一点问题,如果像CDN这样的,会根据请求者的IP而改变的动态CNAME记录,将会被CloudFlare拉平为一个固定的 A 记录。 CloudFlare的主服务器位于境外,即使你的用户主要是在国内,**CloudFlare仍然会将其拉平为美国的服务器**,使得这个固定的 A 记录经常速度太慢、延迟过高甚至超时。 以上来自——[让 CloudFlare 根目录 CNAME 拉平更好用][4] 现在明晰了,CF按照规定,不给根域名提供CNAME解析,而是根据自己的服务器(美国),刺探到CNAME指向的IP地址(对于CF而言当然会在美国),所以这里不再是根据请求者的IP而改变的CNAME,而是成为了一个固定的A记录。 要解决此问题方法有两种:第一,不再使用CF的DNS服务,**大部分厂商的DNS并未对根域名的CNAME记录做限制。**第二,像我一样域名放在CF出不来,考虑用WWW做站点域名吧(非根域名的CNAME都不会受到拉平),直到我迁出CF为止…… ![屏幕截图 2024-04-19 000429.png][5] [1]: https://www.dreamofice.cn/share/2022/cloudflare-custom-ip#%E5%86%99%E5%9C%A8%E5%BC%80%E5%A4%B4 [2]: https://bluish.cc/usr/uploads/2024/04/3471714880.png [3]: https://datatracker.ietf.org/doc/html/rfc1912 [4]: https://codezhangborui.com/2023/08/make-cloudflare-cname-flatten-better/ [5]: https://bluish.cc/usr/uploads/2024/04/3524957614.png 在Cloudflare托管域名?无法摆脱的CF解析两大坑! http://bluish.net/archives/2051/ 作者 bluish 发布时间 2024-04-19 许可协议 CC BY-SA 4.0 复制版权信息 标签: cloudflare, 域名
在目前环境下,确实是不适合直接使用CF的DNS解析服务
最后怎么优化?我用CF的CDN,国内访问非常慢。又懒得备案,直接摆烂了。
如果域名不是在CF注册的,就可以用优选CF节点,还是能显著提效的。我最后是选了其他小众的亚太CDN,可以试试farCDN(farcdn.net)、盾云(ddunyun.com)。
我的cf解析记录会自动变成 g.ezoic.net 而且我手动改了之后,他也会自动变成上面地址??导致我换回了阿里的域名解析,大佬有听说过我这个情况吗?
你是不是把什么API泄露了或者用在了什么服务上。
我记得,好像没用它做过啥别的事,域名解析记录我加上去之后,就没管过了,有一次操作是用cf搞了一个隧道啥的,也不太懂,用在serv00上,不知道是不是因为这个,还是因为我之前用cf搞了一个work吗?其他没做过啥操作了,也好像没用过api啥的
那不懂了,我会建议你问提个工单问问CF,或者到NodeSeek这个论坛问问(不过要注册门槛)