所在位置:
首页 >
营销资讯 >
建站知识 > 4、cloudflare已不支持通过api动态解析freenom申请的域名的解决办法
4、cloudflare已不支持通过api动态解析freenom申请的域名的解决办法
时间:2023-02-07 10:44:02 | 来源:建站知识
时间:2023-02-07 10:44:02 来源:建站知识
一、背景
- 前文我们尝试使用DDNS-GO配置DDNS,通过cloudflare api修改指定域名的动态ip,可是翻车了。因为cloudflare不再支持通过调用api的方式修改.cf .ga .ml .tk 顶级域名(都是freenom提供的免费域名)的ip了。
- 为了解决这个问题,网上检索了一通,发现一个好玩的东西:无需修改NS直接接入CloudFlare,本来想的是:
1、将freenom申请的域名ns地址修改到dnspod,由dnspod做域名解析管理,这样就可以使用DDNS-GO调用dnspod的接口来修改域名的动态ip了。
2、将dnspod管理的域名用cname的方式接入cloudflare来白嫖cdn。
- 想法很丰满,但是现实很骨感。经过测试发现此方案行不通,最大的问题是:cloudflare cdn回源的地址(我们的服务器地址,也就是ip会动态变化的那个)还是得由cloudflare的dns来管理,只不过要变更的dns在这个方案里变成了“中转源站”(官方叫做回退源)域名的dns。
中转源站 1、freenom上申请的域名依然修改ns记录到cloudFlare上,交由cloudFlare管理dns。
2、建一条cname记录,解析到一个由dnspod管理的域名上,我们暂时将此域名叫做中转域名。
3、使用DDNS-GO配合dnspod上的中转域名做动态域名解析。
4、最后经过测试此方案是可行的,于是就将部署的过程记录下来。
二、操作
2.1、准备一个中转域名,登记到dnspod
- 为了测试,我使用了一个之前也是freenom申请的免费域名,并且已经交由dnspod管理了、也已经通过DDNS-GO在做着动态ip的管理工作。这也证明dnspod是支持通过api修改freenom上申请的免费域名的【手动点赞】。
- 为了加快测试,我就先手动的增加了一条A记录,设置了一个二级域名解析到我家里的服务器上。
- 然后通过ping测试,域名解析成功。
2.2、在cloudFlare站点的dns内增加一条cname记录
cname配置- 再检查一下之前设置的回源端口转发是否还在,我们还是需要将端口转发到2000才能访问到自己的web服务。
2.3、访问测试
- 先通过中转域名加端口的形式(http://中转域名:2000/)访问测试页是否正常。测试正常。
- 再通过目标域名访问(https://目标域名),观察cname回源情况。测试正常。
- 再验证一下“目标域名是否使用了cdn?”可以找一个站长工具,测试一下全国各节点ping目标域名的效果。
我这里用的是:多个地点ping服务器-网站测速-站长工具,如果各地区反馈的响应ip不一致,就说明cdn在起作用,并且也能反应各地区访问网站的网络情况。
各地响应的ip- 最后也可以跟踪nginx的访问日志文件发现:如果通过中转域名直接访问,请求的来源ip就是真实用户的公网ip。而使用目标域名访问,来源ip就是cdn节点ip。
- 至此,问题解决。
三、最后
- 其实在使用上述方案解决这个问题之前,我就在cloudFlare上通过$9/年的价格入手了一个.com的域名,也完美的解决了这个问题。之所以这样干,其实基于如下几点考虑:
1、从cloudFlare不支持通过api维护这类域名来看,大众网络是不太欢迎这类域名的,通过百度搜索也会发现此类域名收录不多。如果继续使用此类域名可能会影响之后的搜索引擎收录,不利于做seo优化。
ml顶级域名com顶级域名 2、付出的成本足够小。如果你选择了一个不太主流的后缀,比如:.cc、.xyz、.site这种,再加上不那么热门,再稍微长一点的域名的话,价格还是很理想的。我选择了心仪的域名后,一下买了3年,考虑的是域名续费的价格远远高于第一次的采购价。
3、付了钱的东西,心里更踏实点,感觉质量更有保障。
4、在付出的成本比较小,又能快速、保证质量的情况下解决问题,何乐而不为。