CloudFlare 官网是不提供 CNAME / AAAA / A 记录接入 CloudFlare 的 CDN ,但我们可以通过 CloudFlare Partner 免费使用 CNAME / A 记录接入 CloudFlare,从而使用CloudFlare 的 CDN 达到自选 IP的目的。
为什么使用自定义节点 IP 呢?CloudFlare 免费套餐节点比较少,且“鱼龙混杂”,对中国大陆的线路不友好,使用 CloudFlare 自定义节点 IP 的好处就是可以一定程度上缓解 CloudFlare 速度慢的问题。本文详细介绍了 CloudFlare 如何使用自定义 IP 节点对三网线路进行优化,同时分享了一些 CloudFlare 对中国大陆三网线路较友好的IP段,及如何撸 cloudflare Pro !
前期准备:
1、免费的智能DNS解析:dnspod、cloudxns、dns.la、dns.com等,这里使用的是dnspod。
2、cloudflare partener 平台(可以直接用博主的萌精灵CDN)注:CloudFlare Partner 使用的是github 开源代码搭建的,保证不会记录您的任何信息。
部署方法:
1、如果你的域名注册商无智能DNS解析服务,请使用可以智能DNS解析的服务商。这里使用的是dnspod,请把域名注册商处的 Nameservers 改为f1g1ns1.dnspod.net和f1g1ns2.dnspod.net即可。
2、注册一个dnspod帐号并在dnspod处添加你的域名(博主这里以oofree.me为例)。
3、使用 “nslookup -qt=ns oofree.me” 查询确保域名的Nameservers已为dnspod的。
4、登入萌精灵CDN管理平台(如果没有CloudFlare帐号会自动注册一个)增加一个域名。目前只支持主域名,如下图所示:
5、“提交”后点击“添加新记录”。
6、按下图根据自己的需要设置。(2020/4/20更新:也可以直接用A记录了。)
7、点击“提交” –> “前往管理中心”,出现如下图所示。
8、登入 dnspod 选择域名 oofree.me 进入后点击“添加记录”根据上图增加下面两条记录。注:CNAME记录也可以改为“IP接入”中的IP,但请在SSL证书配置OK后再更改,否则SSL证书可能不生效。但强烈建议保留这条CNAME以防止cloudflare验证翻车。
9、登入Cloudflare官网选择域名进入,点击“SSL/TLS”再点击“Edge Certificates”,如果出现下图所示表示SSL证书配置OK。
10、好了,现在你就可以在dnspod中自定义IP了。下图举例自定义了一个电信线路使用的IP,其他线路的可以根据需要设置。
CloudFlare的节点:
CloudFlare 百度云合作 ip:
162.159.208.4-162.159.208.103
162.159.209.4-162.159.209.103
162.159.210.4-162.159.210.103
162.159.211.4-162.159.211.103
官方列表:CloudFlare公开的节点
各线路推荐列表:
电信:推荐走圣何塞,例:104.16.160.* 或者上面的百度云合作 ip。
移动:推荐走移动香港,例:172.64.32.*、141.101.115.* 或者 104.23.240.0-104.23.243.254。
联通:没发布什么好线路,可走圣何塞。例:104.16.160.* 或者 104.23.240.0-104.23.243.254。也可以试一下走亚特兰大 108.162.236.*(日前不可用。) 。
撸CloudFlare Pro
申请一个krypt免费空间即可。注:如果使用了 CloudFlare Pro,后面的一些CDN信息可以在萌精灵CDN处设置。请不要在任何地方点删除,如果删除了 Pro 的域名,只能在 krypt 处禁用再启用才是Pro。
常见问题
无法正常打开,网站提示 ERR_SSL_VERSION_OR_CIPHER_MISMATCH
这是 Cloudflare 签发 SSL 证书不正常的问题。如果你确认你的回源配置正确,等 30 分钟左右一般会签发完成;或者进入 Cloudflare 官网找到您域名选项中的 Crypto 栏,在最底部找到 Disable Universal SSL,尝试禁用再启用。
Error 1016 Origin DNS error
回源配置有问题。访问者只能找到 Cloudflare,但是 Cloudflare 找不到IP所对应的网站。请确保回源域名和IP都配置正确。
请问是不是一定要申请到cloudflare的商业版本才能使用自选节点?
@Kevinge 不是,用萌精灵CDN就可以了。
我是用的CF套ws+tls复活的瓦工,但是速度太慢了,我想选个国内cnd的ip可以吗,我担心会请去喝茶
@jkjk 国内的可以呀。只要你胆大。OωO
@萌精灵 博主,是不是使用你的cdn来自定义cfcdn ip后,瓦工v#2*+ws+tls就没法使用了?我发现我的域名自己电脑端来ping(不管使用那个dns服务器)得到的都是自定义ip 1.0.0.0,但是在使用vps 命令行里ping自己域名时,得到的是你的cdn ip 104.27.142.18。
@KN 好吧,果然和楼下一样,是自定义ip的问题,我改成他一样的就能用v#2*+wss了。速度比直接cfcdn快了好多。ip倍墙后,只用cfcdn套,速度只有0.5mb,现在又1.5mb了。
第6步卡主了。回源地址要写域名,不能写IP,比如XXXX.COM Cname到XXXX.COM,不是死循环了吗
萌新不懂,大姥姥教教
@萌新 搞定了,应该是开放的IP有问题,我设置成稳定的1.0.0.1就OK了
[secret]博主,我typecho套了个cf之后,博客后台不能登录,cf 里加上了
admin/* cache level: bypass ,还有哪里要设置,还有博客留言也不能用,是什么问题
[/secret]
@m0rml1n 添加域名 出现这个 Client error: `DELETE https://api.cloudflare.com/client/v4/zones/a0ebe599802e5b9b539dca8fef2c2592/dns_records/789d4cb3fd966817f558d159d7e1e967` resulted in a `401 Unauthorized` response: { “error”: “Use of this API has been limited to the Cloudflare Dashboard.” }
添加DNS记录时:出现“Client error: `POST https://api.cloudflare.com/client/v4/zones/481fce4d9d1c6b3c9e9e3cd49942f463/dns_records` resulted in a `400 Bad Request` response: {“success”:false,”errors”:[{“code”:1004,”message”:”DNS Validation Error”,”error_chain”:[{“code”:9041,”message”:”This DNS (truncated…)” 怎么破?
@matt 已经将原有的域名移除了。。。为什么还有呢?
在你们平台上提交域名时,提示“CloudFlare is already activated for “matthuo.space” under a different account. If you want to enable CloudFlare through this partner, please log in to your CloudFlare account and choose “Disconnect” on your CloudFlare DNS Settings page.” 可是我已经删除掉了域名与IP等A,WWW所有配置,为什么仍然提示?
@matt 是要你在cf官网删除域名,再在萌精灵CDN里面加入。
@萌精灵 咋删除呢?找不到删除的地方
@萌精灵 要么提示 :CloudFlare could not detect “xxxxx.com” as a registered domain,什么鬼?
@matt https://support.cloudflare.com/hc/en-us/articles/205359838-I-cannot-add-my-domain-to-Cloudflare-
没有过你这种问题,去这里看一下吧。
博主,我怎么cf那里没有crypto这个选项,而且我套了cf以后反而速度变慢了怎么回事哦
@dasd crypto肯定有的,界面改版了,你仔细找找。你如果是香港、国内或者gia等好的线路套cf肯定会慢。
Client error: `POST https://api.cloudflare.com/client/v4/zones/9f6f248cce724fcfb17cf7a0edbd2eb9/dns_records` resulted in a `400 Bad Request` response: {“success”:false,”errors”:[{“code”:1004,”message”:”DNS Validation Error”,”error_chain”:[{“code”:9041,”message”:”This DNS (truncated…)
@cady 你要在cf的官网删除域名后再在萌精灵CDN里面加才行。
步骤6 和 步骤8哪个先???按照教程 API错误。添加不了回源。
由于忘记在cf删除域名,然后登录了萌精灵cdn。然后退出登录,再到cf删除域名,提示无法删除。我是先暂停后删除的。删除失败时候,底部红色字提示API Request Failed: DELETE /api/v4/zones/4064e74c18b42af2cc8d0cf52d3bb208 (500)
请问怎么解决?
已经在cf多次删除已不行,导致全部域名都不能删除。
谢谢!
@Kenneth 操作过多?现在应该没有问题了吧。
@萌精灵 解决了,过一段时间就好了
怎么从萌精灵CDN中删除域名呢?
@fff 你直接在cf的官网把你要删除的域名删除就行了。(cfp只是让你免费拥有更多的功能而已)
@萌精灵 不行诶,官网上删除了,但是萌精灵cdn里还是有
@fff 你确认你从官网上删除了?我这里是存不了任何数据的。(另外,你不要从官网上删除后又在其他cdn上加呀。所有的cdn都是调用官网的数据的。)
@萌精灵 我确定删除了。。。其他地方也没加,官网上也显示没有这个域名了。。。神奇了。。。
@萌精灵 而且我当时在萌精灵里加的时候,官网里没有多出这个域名来
@fff 怎么可能?提供你的联系方式?或者你加左边的TG群组。
@萌精灵 好的,我加入群组了
最后一步提示如下
A 记录和 CNAME 记录有冲突,请先删除或暂停现有的 CNAME 记录后重试
是什么问题来着
@shiyi A记录和CNAME 记录本来就不能共存,你把CNAME 记录的线路改为国外就行了。(A记录和CNAME 记录的线路不要一样就行。)
@萌精灵 受教了,已经ok,感谢大佬指导!
@shiyi 不客气。
登陆你那个登录面板显示“这个域名只支持NS接入”,怎么搞
@DFD 你要先在cf里面删除域名,再在我的面板中加就能cname接入了。
有两个地方可能不太对,回源地址处只要把默认的CNAME类型记录删除并新建一个A/AAAA记录就可以用IP回源,另外文中‘Cloudflare公开的节点’应该是cf的回源IP列表,并不是可供用户访问的endpoint。
@starwish 更正一下自己:文中‘Cloudflare公开的节点’应该是cf的回源IP列表,并不全是可供用户访问的endpoint。
@starwish 1、你理解错了吧。回源地址现在只能是CNAME格式,不能删除,再用A/AAAA指向源IP才能回源。Cloudflare公开的节点就是CF公开的节点,不是回源IP。(你是不是没理解什么是回源呀。加了CF后客户访问的是CF的IP了,回源就是让CF能够找到你网站所在处。)
2、Cloudflare公开的节点基本上是可以用的。当然不排除IP被乱用造成国内无法访问的情况,同时也不排除某些IP要加钱才能用的情况等等。
@萌精灵 1、https://i.loli.net/2019/07/28/5d3d8eb4d23d366193.png 我相信不用多说了?
2、你可以看CF官方文档,那一个是CF的回源IP列表,就是CF用来访问你源站的IP,并不是用户可以使用的CDN ENDPOINT。你可以自己挑选几个段的来试一下。
@starwish CF ENTERPRISE PLAN 的 IP段分配的也只是 104.16.0.0/12
@starwish 141.101.115.133 是在141.101.64.0/18 段内吧。你自己ping一下我网站吧,看有没有用到这个IP吧。
谢谢分享,请教一下 “但请在SSL证书配置OK后再更改” 这里说的ssl是指的用cf生成的ssl证书还是自己服务器的证书呢?
另外,使用了cf的证书后自己服务器就不要配置ssl了吧? 哪个安全呢?谢回复OωO
@chancat 在第9点图片的上半部分,如果你的SSL使用的是 Flexible SSL 服务器可以不要证书,其他的都要。出现了第9点中红框部分就表示SSL配置没有问题;同时在“萌精灵CDN” 平台中的安全部分也有显示的。
@萌精灵 谢谢回复,明白了,另Krypt的免费空间已经不提供cf了