Cloudflare Partner, 你玩流量路上的超级帮手!!!

通过TG群组里的聊天,我发现很多人对cloudflare partner计划知之甚少,于是便有了这篇文章

在这个坛子里混的人,应该都知道cloudflare以及他们的免费的CDN, 一般的情况下你需要使用cloudflare 的DNS才能使用他们的服务,这样会带来很多的局限性,但是我们可以通过cloudflare partner 这个项目来绕过这个局限.

为什么cloudflare partner可以绕过这个局限? 
因为如果你的域名是通过cloudflare partner接入cloudflare 网络的,那么你是不需要使用cloudflare 的DNS就可以使用他们的服务,所有的域名接入都是通过cname 来实现,这样你就可以使用自己的DNS的同时,享受CF 的全球免费CDN和WAF!  

使用cloudflare partner 有什么好处?
仅仅从一个站长和marketer的角度来说,我目前能想到的是下面这些:
1) 分地域解析
鉴于天朝网络的特殊性,如果你的网站有很大一部分的中国流量,如果直接套CF的话,晚高峰速度会慢的惊人。很多DNS服务商可以提供分geo解析或者分线路解析,这样天朝的流量可以解析到国内访问速度快的服务器,国外的流量无脑全部解析到cloudflare
一个简单的例子就是www.advertcn.com, 有兴趣的同学可以去ping.chinaz.com 或者ipip.net 看一下,所有国内的访问全部解析到阿里云,所有国外的访问全局解析到CF

另外你也可以很方便的通过cloudflare partner 计划,来设置自己网站的多重CDN

2) 站群
从hostloc上看站群服务器卖的那么火,就知道了其实还是有很多人在默默的玩站群的. 但是传统的站群玩法,需要大量的IPs,所以hostloc上的站群服务器一般是256个IP起步,一个C的IP的费用其实是不菲的,因此如果你不是做中文站的话,完全可以通过cloudflare partner来隐藏源IP

每个通过cloudflare partner接入cloudflare网络的账户下的每个domain,都会分配到不同的IP
因此只需要一个cloudflare账户,一个IP就可以做站群,而且还不容易被搜索引擎关联:  

IP信誉这种东西,其实对于在cloudflare网络保护下的域名来说,没有什么影响了. 全球alexa 排名前10w的网站,大部分都已经接入cloudflare

当然了如果你不通过cloudflare partner 接入cloudflare 网络的话,你还可以给每个域名都单独注册cloudflare账户,这样就可以每个域名都分配到不同的DNS服务器,这也是可以的。域名数量少完全可以这么多,域名数量多了,管理就是一个很大的问题

3) 防追踪
这个对于玩paid traffic的人来说很有用,其实我也建议大家的tracker 都接入cloudflare,无论是直接接入还是通过cloudflare partner接入
如果直接通过cloudflare接入的话,在一个账户下面的所有域名,都是使用一个DNS服务器,这样很容易被人spy到你的所有tracker域名和landing page域名等等(不好意思,我就这么干过。。通过reverse DNS实现的)
通过Cloudflare partner,你就完全没有这个问题,因为你的所有接入都是通过cname来实现的
4) 免费的SSL
Cloudflare和 sectigo 合作,对所有的接入域名免费签发SSL证书,我觉得比大家都在用的let’s encrypt 要好用

5)免费的railgun
cloudflare 的railgun 可是鼎鼎大名,原来几百美金的东西通过cfp就可以免费使用,有兴趣的同学可以自己搜索资料,这里就不多说了

6) 暂时还没有想到,稍后补充

下面举个例子来说明:
144526y9morx3rxlbz91aj

很多人都知道iamhippo.com 这个是我的个人blog,通过上面的图,很容易就可以猜到:
iamhippo.com 和 www.iamhippo.com 的源IP是198.55.111.55,如果不接入cloudflare,那么直接在DNS上做A记录指到198.55.111.55,  
如果要使用cloudflare的网络和他们的免费SSL, 那么DNS 需要改,只需要将www 和 @ 分别cname到www.iamhippo.com.cdn.cloudflare.net 和 iamhippo.com.cdn.cloudflare.net 就可以了   

需要注意的是:
1) 如果你的root domain,拿上面的域名做例子,就是iamhippo.com, 所使用的DNS服务器不支持给root domain 做cname的话,可以采用IP接入,即将iamhippo.com 做A记录,指到104.28.22.246和104.28.23.246即可

2) 说的更明确一点,通过cloudflare partner 接入cloudflare 的网络其实有三种方式, 上面的图其实都列出来了:
(1) 通过设置cname
(2) 通过设置A记录
(3) 通过设置DNS服务器

对,你没有看错,即使是通过cloudflare partner接入cloudflare, 也可以通过改DNS 服务器的形式来实现,所以来说这种方式给了你极大的自由
3) 即便你的账户是通过cloudflare partner 创立的,你也可以通过你的账户登录cloudflare 的官方网站,所有的功能和你直接通过cloudflare创建的账户的功能一样,只是在DNS管理那里,需要在cloudflare partner 的control panel那里管理

既然cloudflare partner计划这么好,那么这个好申请吗?
以前的话是很好申请的,我是在2015年通过www.regaldomain.com来申请的。现在据hostloc传言已经难了。现在hostloc上卖cfp账户的价格已经最少500rmb了
我申请到了/买到了cloudflare partner计划的账户,只给我了一个API key,该怎么使用啊?
cloudflare partner计划只提供API,具体功能的实现需要你自己来实现。庆幸的是现在有人写出了开源的程序,其中两个比较好的是:)  
https://github.com/ZE3kr/Cloudflare-CNAME-Setup
https://github.com/Netrvin/CFPMP

写了这么长终于到正文了:
如果我对cloudflare partner感兴趣,但是我又搞不到cloudflare partner的账户,或者搞到了账户,但是搞不定cloudflare partner 面板,怎么办?
AdvertCN 今天正式把内部使用的面板从内网指向公网:
https://dns.advertcn.com

我们使用的是ZE3kr(https://github.com/ZE3kr/Cloudflare-CNAME-Setup)的开源程序,架设在AdvertCN自身稳定的服务器架构上,所以系统稳定性方面不用担心,也不用担心会像其他的oneman那样跑路,同样因为系统是开源的,用我们多年的声誉做担保不会存储任何数据

那么如何使用AdvertCN 提供的cloudflare partner 服务呢?
首先,这个cloudflare partner是由AdvertCN旗下的 www.regaldomain.com(目前不对外服务,只内部使用)申请到的,所以你收到的邮件都是来自于RegalDomain Limited, 这个你不需要担心!  

其次,我们以advertcn.net这个域名为例,来讲解如何使用这个面板

打开AdvertCN CFP 的页面: https://dns.advertcn.com
151829tes8998t6ipzeexx

可以看到上面写的很清楚: 如果你以前已经通过我们申请了cloudflare 的账户,那么直接填写你的账户和邮箱就可以登录CFP的面板来管理你的域名了.
如果你没有cloudflare的账户,那么在这里填写你的邮箱和密码以后,就会用你输入的信息来创建cloudflare的账户,然后就会跳转到管理页面.
注意,你通过cloudflare 官方网站申请的账号和通过其他的cloudflare partner申请的账户,无法在我们这里管理 
152144d2fds7sgl4dn2zfd
从图中可以看到,我用了[email protected] 这个邮箱。因为这个邮箱没有申请过cloudflare,所以点击sign in的话,就会用这个邮箱自动创建一个cloudflare的账户

152329l0pflpbf9myofee0

然后我们就进入了cfp的控制面板,因为这个是一个空的账户,所以这里面没有任何域名。点击右上角的add domain,我们来开始添加域名.

152634ffj4qlmpmj24m4j8

可以看到我们这里输入了我们想接入cloudflare网络的域名,advertcn.net, 点击submit

152755g1pq1l1qt1nj1htn
可以看到添加成功了,点击go to consoles,我们来给这个域名设置

152926x0lqszo1eouztp0u

可以看到现在的DNS设置是空的,但是NS和IP早就给咱们分配好了

假如advertcn.net 和 www.advertcn.net 的源IP都是指向47.56.228.191的,那么就点Add New Record,添加A记录

153334riyyiyr8ozk2ozk8

添加完A记录,就会发现cname 已经给我们生成了。这仅仅表示cloudflare那边已经做好了设置,但是我们还需要在咱们这边,将域名指向cloudflare
通过前面的文章可以看到,主要有三种方式: cname, A记录和改DNS

cname方式, 这是最常用也是最推荐的办法. 在advertcn.net 的DNS上, 将www和@ 的cname 分别指向www.advertcn.net.cdn.cloudflare.net 和 advertcn.net.cdn.cloudflare.net即可,这样就接入了cloudflare 网络

 

但是你会发现,你的DNS服务商不允许你给root domain,这里就是advertcn.net设置cname,那怎么办?
我们可以给root domain 设置第二种接入方式,A记录。将@的A记录指向104.18.40.170和104.18.41.170即可。当然了,你可以将www设置为A记录而不用cname,但是一般情况下能用cname就用cname

 

最后一种接入方式就是直接修改advertcn.net 的DNS为cash.ns.cloudflare.com和mia.ns.cloudflare.com,这样所有的DNS设置就得登录cloudflare 来设置了,后面我们会说到。 这种接入方式不建议

154557qnrqfjoemfriemnj
如上图所示,可以看到我给www做了cname,给root domain 做了A记录
这样, advertcn.net 和 www 和 root domain就接入了cloudflare 网络

154739m7z8zaukzus1k6v1

很多人注意到了Edit 旁边的小云朵,小云朵亮的时候表示使用cloudflare 的网络。在上面点击一下会变暗,表示不使用cloudflare 的网络,直接回源源IP

最后一个问题,通过cloudflare partner 计划申请的cloudflare 账户,是否可以登录cloudflare 的网站?
这当然是可以的,因为https://dns.advertcn.com 这个UI 只提供了基本的DNS管理功能,许多cloudflare 的高级功能还是需要登录cloudflare 的网站才能设置

打开网址: https://dash.cloudflare.com/login, 输入用户名和密码登录

155240daaq3cai6599r93a

155335qwwrpo97mu99rkd9
进来以后,发现我们通过cf partner UI设置的域名, advertcn.net 静静的躺在我们的账户列表中

155444oxtpaq5vplaixft8

很多功能,比如说统计啊, SSL 设置啊,SSL rewrite啊,防火墙啊,Access啊,Page Rules啊等等都得在cloudflare 的网站才能设置
这里很有意思的地方在于DNS那里,我们可以点进去

155632jzgxfkthfekhcxjt

可以很清楚的看到advertcn.net DNS设置,由RegalDomain Limited来管理,也就是说由https://dns.advertcn.com 来管理DNS,其余的高级功能都得登录cloudflare 的网站来设置
到这里,基本的CF Partner的用法就讲完了。

如果有任何问题,请直接留言. 如果你有其他的玩法,也可以回帖,我更新到帖子里。