现在我们需要把它改造一下,变成下面这样
通过改造,我们将实现智能自动匹配三大运营商,并选择表现最佳的节点IP,确保每个用户都能走优选的线路,从而提升访问速度。
如果你也希望提升你网站的访问速度,让用户体验更流畅,那么这个方案值得尝试。
接下来,跟随我一步步实现这个优化,让我们开始实战吧!
需要用到的东西我以我这次操作为例,列在下面:
cloudflare账号一个
github账号一个(用来部署优选ip程序的)
dnspod账号(你也可以用阿云或华为云的账号)
主力域名:htizi.cc
回源域名:qfafa.com
信用卡或paypal账号(支持国内paypal,用来开通cloudflare的saas业务,带回源功能)
2.1、登陆cloudflare,在cloudflare添加回源域名的网站。
2.2、域名注册商那里,把ns改为cloudflare提供的ns服务器。
2.3、在CF里DNS里,对回源域名添加一个A记录解析,解析名称任意,我用的是“hy”,解析值是自己服务器的ip,记得把小黄云开户。
这一步得到了回源域名的子域名:hy.qfafa.com,回源域名的其他子域名还是可以用作其他事的。
2.4、开通saas业力,saas业务是让一个没绑定到CF的域名,也可以完全享受跟回源域名一样的服务,包括安全、加速、ssl证书等功能。以前saas是收费的,现在CF为每个账号免费提供100个域名的额度,但开通时需要绑定信用卡或paypal账号(支持国内的pp),我用的就是国内paypal,开通成功后可以在pp解除自动扣款。
绑定国内pp时,可能需要开一下科学上网。
2.5、添加回退源
注:一个域名只能添加一个回退源,也就是只能绑定一台服务器的ip
添加后等它生效,变成绿色的“有效”,再进行下一步,1~2分钟时间
2.6、添加自定义主机
打开后按下图添加主力域名的子域名
添加完成后要等一下让它变成待验证状态:
展开是这样的:
这里我们需要验证我们域名的所有权和证书。
里面要求添加两个TXT解析,这是要到主力域名去操作的。
我还继续添加了一个主力域名的子域名,一共两个,带www和不带的,最后我的是这样的:
3.1、在dnspod添加主力域名
3.2、域名注册商那里,把ns改为dnspod提供的ns服务器。
3.3、默认线路解析的添加
什么是默认线路,也就是那些不是联通、移动和电信的用户访问我们网站时走的线路,这些用户一般是国外或港台区的人,它们不用走优选线路,直接走默认线路。
添加cname记录到 回源子域名(即hy.htizi.com),需要多少个主力域名的子域名就添加多少个,我添加了两个,一个www和什么都不带的,如图
当然,默认线路,你也可以用A记录直接到你的服务器IP,这样可是不能隐藏ip地址的,但是你只要喜欢就行。
3.4、TXT记录添加
把2.6需要验证的两个TXT记录添加进来,我上面添加了两个主力域名的子域名,所以我这里一共要添加4个TXT记录。
注意:你的TXT验证名称应该不包含主力域名,
例如直接复制下来是 _acme-challenge.htizi.cc 你应该删去htizi.cc 即最后为 _acme-challenge
如果直接复制下来是 _acme-challenge.www.htizi.cc 删去htizi.cc 即为 _acme-challenge.www
还是不懂就直接看我最后添加的结果吧:
3.5 自定义主机名的DCV委派
添加这一步主要用途是自动续约SSL证书。
按要求,要添加一个CNAME解析记录,CNAME的主机记录就是【_acme-challenge.qfafa.com】,cname记录值就是【qfafa.com.bf5eXXXXXXXX.dcv.cloudflare.com】
最后看一下我所有的解析:
做完这些后,可以等cloudflare那边生效,也可以直接一边做下面的事,一边等,不影响操作。
生效需要等的时间比较长,别人说要等10分钟左右,我等了15分钟才生效,生效后CF那边会变成下图所示,这时通过主力域名是可以正常访问你的网站的:
3.6 优选线路的解析
解析是不用我们手动添加的,后面的程序会把选出来的优秀线路节点IP自动进行解析添加,而且是每隔一定时间就选一次ip然后修改解析,为了能让程序能自动解析,我们需要拿到dnspod的 API密钥的SecretId、SecretKey,操作如下图
dnspod只能建两个密钥,新建后要马上把SecretId和SecretKey记录下来,SecretKey只显示一次,下次就不能看了,只能删除后重新新建。
拿到密钥后,我们就可以去部署自动优选ip程序。
优选程序用的是cf2dns,它在github有源代码:
https://github.com/ddgth/cf2dns
我是部署到github,你也可以部署到本地或自己的服务器,自己根据文档研究一下怎么布署到本地和服务器。下面我以部署到github作演示:
4.1、登陆gitghub账号
4.2、进入上面的cf2dns项目, Fork 到自己的仓库
4.3、点击 Settings -> Secrets and variables -> Actions -> New repository secret,
然后再里面分别添加DOMAINS、KEY、SECRETID、SECRETKEY几个变量和它们的值
KEY,是cf2dns程序获取优选线路ip的一个API接口密钥,需要从商店购买,你也可以使用 o1zrmHAF
,区别是 o1zrmHAF
是历史优选的Cloudflare IP(也可以从这个网站查到IP的信息),而购买的KEY是15分钟内获取到的对各运营商速度最优的的Cloudflare IP,看自己需求了。
SECRETID,填写dnspod获取的 SecretId
SECRETKEY,填写dnspod获取的 SecretKey
DOMAINS 填写域名信息, 格式如下:
{"htizi.cc": {"@": ["CM","CU","CT"], "www": ["CM","CU","CT"]},"xxx.com": {"@":["CM","CU","CT"]}}
注意:(1)这是标准的json格式字符串,填写时注意不要有换行。(2)支持添加多个域名,比如上面添加了htizi.cc和xxx.com两个域名 (3)CM是移动、CU是联通、CT是电信,表示对三大运营商进行独立解析(4)支持添加多个子域名,上面 htizi.cc添加了两个子域名一个是带www和一个什么也不带的。
DOMAINSV6 如果需要更新AAA解析(即ipv6)请增加此变量,格式同上面的DOMAINS一样。
4.4、修改cf2dns_actions.py文件里的参数
主要是下面三角参数,如果你也用的是dnspod,不用修改直接默认就行了。
#DNS服务商 如果使用DNSPod改为1 如果使用阿里云解析改成2 如果使用华为云解析改成3 DNS_SERVER = 1 #如果试用华为云解析 需要从API凭证-项目列表中获取 REGION_HW = 'cn-east-3' #如果使用阿里云解析 REGION出现错误再修改 默认不需要修改 https://help.aliyun.com/document_detail/198326.html REGION_ALI = 'cn-hongkong'
4.5、.github/workflows/run.yml 文件
- cron: '*/16 * * * *'
这个参数是控制运行周期的
把它修改成15,点击右边【Commit changes】提交
接着再弹出一个确认提交的框,继续点这个框里的【Commit changes】
4.6、现在程序已经在运行了,点击action -> GitHub Actions CloudFlare2DNSPod Bot,如下图所示,就可以看到程序的运行日志
4.7 去dnspod看看,你会看到自动添加了很多新的解析
评论(0 条)