LALA昨天写了一篇申请CloudFlare合作伙伴计划的文章,申请这个的目的是为了获得一个API密匙,利用这个API就可以将域名用CNAME的方式接入到CloudFlare中,而不需要修改域名的DNS服务器。但是昨天LALA还没有写CNAME接入的方法,所以今天把方法写一写~
这个API主要给我们带来了三个好处:
1、通过CloudFlare官网注册的账号免费套餐是不支持CNAME解析的,只能通过修改DNS服务器的方式接入。而CloudFlare的DNS在国内解析速度比较慢。使用CNAME可以避免这个问题。
2、CNAME的解析生效时间要远快于直接修改DNS服务器。在需要做解析更改的时候,CNAME更方便。
3、因为使用CNAME解析,我们可以使用国内的优秀DNS服务商,比如:CloudXNS。
如果你还没有申请CloudFlare的合作伙伴计划,那么可以参考下面这篇文章来操作:
进入正题,我看到网上有一些用CNAME接入CloudFlare的文章,让我觉得比较蛋疼的是,添加一个解析记录都要用到SSH命令行,这是有多蛋疼。。。所以,LALA找到一个PHP版本的接入工具。
首先下载这款工具:https://0o0.lol/index.php/s/4hrQ3goUXFllfd2
安装宝塔面板:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
新建LNMP环境,这个不多说了,数据库其实都可以不用装,这个工具只需要用到Nginx和PHP。
环境装好后新建一个站点绑定你的域名:
进入你的站点根目录,上传WeiUZ CloudFlare Partners压缩包并解压,编辑cloudflare.class.php文件:
将如图中箭头所指部分修改成你的API密钥:
此时我们打开站点就可以看到这个工具的登录/注册界面了:
注意:如果你已经有CloudFlare的账号了,那么直接在这个工具里登录即可,如果你还没有CloudFlare的账号,那么你还是在这个工具里直接输入你要注册的邮箱和密码,直接就能注册成功并登录的,不需要再去额外打开CloudFlare的官网注册。当然你在这个工具里直接注册的账号也是和CloudFlare官网通用的,简单点说就是注册过程非常简单,填一个邮箱一个密码就能注册成功!
登录进去点击添加域名:
LALA这里拿sscat.kiwi这个域名做演示:
注意:这里添加的域名只能是根域名,不支持任何形式的二级域名!
添加成功后,返回管理界面,点击“管理”按钮:
在新页面中点击编辑:
这里就是域名的CNAME解析界面了:
解释一下上图中的解析填写方法:
首先是回源地址,注意这个回源地址不能是IP地址,有人会说,你回源不让我填IP地址,那我还怎么回源?很简单,我们可以先用A记录解析一个二级域名到你要回源的IP地址,LALA这里用CloudXNS示范,那么我在CloudXNS中就添加一个这样的记录:
那么test.sscat.kiwi就是我的回源地址了,将这个回源地址填写上去即可。不过我建议大家将回源地址解析的复杂一点,不要让你轻松就能猜到,不然你接入CloudFlare也是白接入的了,人家一查到你的这个回源地址照样攻击你的站。
接着就是上图中的解析格式,比如我是要将lol.sscat.kiwi这个域名接入到CloudFlare中,那么格式就是这样:
lol:test.sscat.kiwi,
注意结尾有个英文逗号,多个域名记录就是用这个逗号隔开的。至于后面那一长串的数字字母什么的千万不要做改动!切记!
点击提交更改,我们就可以看到解析这边就设置好了:
向右滑动滚动条,可以看到域名对应的CANME记录:
那么此时我回到CloudXNS中,添加一个这样的解析记录即可完成接入:
查看解析是否生效:
用这个域名新建一个站点看看能否正常打开:
完全正常,至此整个用CNAME接入的过程到这里就基本结束了。
需要额外说一下的是,当你的域名使用CNAME接入到CloudFlare后,有关CloudFlare这款CDN相关的功能设置,你还是需要登录CloudFlare官网来操作的,和普通账号没区别:
唯独就是DNS记录这块,你不能在CloudFlare的官网上进行更改,你只能通过这款工具来修改:
而作为合作伙伴的管理员,登录Partners后台,是可以管理所有使用这个API接入的域名的:
LALA的后话:
我在使用这个CNAME解析的过程中发现一个问题,但不确定是CloudFlare的原因还是我的操作或者服务器环境问题。这里我还是提一下。就是如果你们要使用CloudFlare的SSL,那么就还需要额外解析那一条长串的记录,如图所示:
但我解析并且确定这条记录生效后,站点并不能正常使用https打开,会提示这种错误:
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
找了半天,找不到解决办法,如果有哪位大佬知道这是什么原因导致的,还请留个言~
其次是这款叫WeiUZ CloudFlare Partners的工具,首先LALA要感谢一下工具的作者,不过在使用过程中发现一个小瑕疵,首页多了个分号,有点影响美观,解决办法也很简单,删除如图中的分号即可:
另外在index.php和console.php都有一串百度统计的代码,建议各位删除掉。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH,这个应该是证书问题,就算是正常注册接入的,在 XP 环境下,开启 SSL 也会有这个错误,导致网页打不开
我不是在XP系统下发现这个问题的,我就是WIN7的系统,当时解析生效后,就发现这个问题了,找了很久也找不到问题在哪里,搜了很多也搜不到什么有用的信息。我现在有点怀疑是不是和BT面板有关。。。
参见 https://blog.vircloud.net/operations/cf-cname.html#2%E3%80%81%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE
这是又出了个新面板吗,不过这个面板感觉是同类中颜值最高的一个了~
是的,然后自己做了下美化
重点是在解决 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 问题呀
地址改成 https://vircloud.net/operations/cf-cname.html#2%E3%80%81%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE 了
ERR_SSL_VERSION_OR_CIPHER_MISMATCH是因为源站启用了SSL 把crypto改为full或者 full strict就好了
原站确实启用了SSL,但是我在CloudFlare像这样设置过,好像也不行。。。有机会我再试试吧。。。