自选节点来改善 Cloudflare CDN 的性能表现

自选节点来改善 Cloudflare CDN 的性能表现

Cloudflare 是优秀的网络服务提供商之一,其免费的套餐在小站站长圈子里广受好评。可是由于一些特殊的原因,Cloudflare 免费套餐的 CDN 服务在国内网络环境下的性能表现一直都不是很好,这是因为 Cloudflare 的特殊网络结构产生了次优路由选择的问题,这时候自选节点的优势就体现出来了。本文我会根据我自己配置自选节点的过程来介绍如何配置自选节点。

写在前面

Cloudflare 的节点采用的是 Anycast (泛播)技术,这个技术简单来说就像域名可以解析到不同的IP上一样,泛播 IP 也会根据本地网络来自动设置不同的接入点,从而达到减少延迟的效果。这个技术听起来是不是挺不错的,自动匹配最佳的接入点。但是在国内的网络下,Cloudflare 所采用的泛播技术对我们的网站性能只会产生负优化效果。这种负优化效果和国内运营商的出口网络有关,三大运营商均有不同程度的访问问题。根据实测,移动的访问速度最快,这可能是因为移动拥有 HKG 香港直连线路,经过自选节点后延迟基本可以做到低于50ms。而电信和联通的访问速度就要慢很多了,根据测试,这两家运营商自选节点后能做到的最低延迟也高于150ms,这可能因为这两家的基本出口线路的拓扑关系较复杂,泛播的 CF 节点基本都在美国本土,产生了次优路由选择。但是不管怎么说,自选节点后的访问延迟与加载速度都大幅优于自选前。

在国内备受诟病的 Cloudflare

之前网络上有很多的自选节点教程,但是那些基本都是利用 CF 的漏洞做到的,至今(2022.12)大多都已经被官方封杀。而本文介绍的这种方法均为官方提供的合法渠道,只要合理使用基本就不会有被封杀的风险,大可放心上车。(2025.1 更新:官方更新了使用条款,其中添加了对该行为的处罚条件。)

开始 准备工作 前的“准备工作”

  • 两个域名(除了你要自选节点的网站域名,你还需要有一个域名作为之后的回源域。)提示:需要自选节点的域名需接入一个可以自选运营商的 DNS 解析提供商。(DNSPod、青云、华为云等)
  • PayPal 账户或信用卡(这是使用 Cloudflare 自选节点的必须条件,需要一个有效的支付方式但是整个过程都是免费的。)

配置回源域

将你的回源域添加进 CF,然后设置一个便于记忆的 A 类解析,指向你的源服务器 IP。然后打开 CF 的代理。例如我的服务器 IP 是 192.168.1.1,我的回退域名为 cdn.wljay.xyz,我可以设置为如下的 DNS 解析。

注意“代理状态”需要为“已代理”

设置后,记住设置的这个域名,之后会经常用到。

随后,进入面板中“SSL/TLS”模块中的“自定义主机名”选项卡,验证支付方式。

随后,在界面中的“回退源”文本框中输入你刚刚设置的回源域名。

待回源域加载完成后,单击页面上方的“添加自定义主机名”。输入你需要自选节点的网址,然后下一步。例如我想给"https://test.wljay.cn/”这个网址自选节点,就直接输入“test.wljay.cn”即可。

配置主机证书验证

之后会出现类似下图的页面,现在进入你要自选节点的域名所接入的 DNS 解析平台。我这里以提供商为青云,网址为“https://test.wljay.cn/”为例。

进入解析提供商的控制台,进行添加 DNS 解析记录操作。这里有一个点要注意,Cloudflare 上提供的“证书验证 TXT 名称”和“主机名预验证 TXT 名称”都是完整的名称,而大部分的解析提供商在添加解析记录时都不需要输入根域名,例如“test.wljay.cn”在添加解析记录时,只需要添加“test”即可。同理,这里 Cloudflare 提供的两个 TXT 名称在设置解析时只需填写你的根域名前的字段即可。如果你在这一步出现了错误,可以考虑是上面这个原因导致的。

可能需要将 Cloudflare 里提供的两个 TXT 名称中的根域名删除

两个 TXT 验证解析都添加后,再次添加你要自选节点的域名的自选节点前的解析。添加 CNAME 解析,指向你在 CF 设置的的回源域名,如图所示。

到现在,你已经成功完成了一个网站在自选 Cloudflare 节点前的所有的准备工作。接下来,我们可以正式开始节点的选择。

使用公共优选 CNAME (Ver. 2025)

本文章写于 2022 年,如今对于优选 IP 已经有了更好的公共 CNAME 的方法。所以我对文章进行了修订与增补,故特增加本节内容。

如果要使用公共 CNAME 优选的方法,请先在前文中所提到的回退域(例如本文即为"wljay.xyz")的 Cloudflare 的 DNS 解析选项中新建一个为公共 CNAME 所准备的加速域名,将该域名解析到公共 CNAME 域名上,如下图所示。

在这里,我使用的是 *.cloudflare.182682.xyz 这个公共 CNAME 加速域名,其前缀可以自定义。除此之外,还有一些其他的 CNAME 加速域名,我在此一并列出,如下表所示。

CNAME 解析域名优选数量备注
*.cloudflare.182682.xyz15ip/15min前缀可自定义,优选效果较好(推荐)
freeyx.cloudflare88.eu.org1000ip/3min多地区分线路解析
yx.887141.xyz1000ip/3min多地区分线路解析

回到被优选的域名的 DNS 解析设置页面,将刚刚添加至自定义主机名中已 TXT 验证的域名 CNAME 解析至刚刚在另一个域下新建的为公共 CNAME 所准备的加速域名上,如图所示。

至此,公共 CNAME 就处理完成了。

注意事项

  • 被优选的域名必须要在自定义主机名中验证之后才能解析到优选域名上;
  • 最终被优选的域名解析的 CNAME 不是一开始的回源域,而是和回源域同在一个域下的 CNAME 到公共优选域名的加速域名;
  • 优选之后,Cloudflare 的管理全部为回源域,例如 WAF 等。举个例子,比如优选的域名是 blog.wljay.cn,其自定义主机名设置的回源域在 wljay.xyz 下,那么之后如果要设置 Cloudflare WAF 的话,都是在 wljay.xyz 的控制台中设置。

自选最佳节点 (Ver. 2022)

本方法为 2022 年所使用的老方法,在当前阶段可能有被封禁的风险,请谨慎使用。

自选的节点 IP 来源有三个。分别是大佬或者前人的分享、Cloudflare 官网公布的 IP 段以及自己从各类接入 Cloudflare 的网站手动解析而来。本文将着重介绍第二种方式,因为第一种和第三种都是要靠自己平常的上网冲浪的经验才能知道,而第二种是有相应的工具可以直接获取。

Cloudflare 公布节点 IP 的网站为 https://www.cloudflare.com/ips-v4 这里为 Cloudflare 主动公布的 IP 段,你可以使用 CloudflareST 这款测速工具来对每个 IP 进行测试,单击这里可以下载 Releases · XIU2/CloudflareSpeedTest · GitHub,下载后解压,将上面的 Cloudflare 网站中的 IP 段全部复制到目录下的“ip.txt”中。打开“CloudflareST.exe”即可自动开始测试。测试结束后的结果会在程序中直接展示,也会输出到目录下的“result.csv”文件中。

测试ing

你可以用三种运营商的网络环境分别测试一遍,然后得到三种结果。在解析提供商的面板中你刚刚已经做好准备工作的网址中添加对应运营商 A 类解析,指向刚刚测速优选的 IP 结果,如图所示。

我在这里推荐你开启解析的“智能模式”或类似模式,然后每种运营商选择2~3个最优的 IP,然后第四个添加“www.cloudflare.com” 这个网站解析的 IP,这是 Cloudflare 的官网,一般都是比较稳的。

智能解析模式

证明已配置完成

Windows 环境下,打开命令提示符,输入:

nslookup test.wljay.cn #自选节点的网站

如果返回的结果为:

非权威应答:
名称:    cdn.wljay.xyz #之前 CF 设置的回源域
Addresses:  ***.***.***.*** #自选的节点 IP
Aliases:  test.wljay.cn #自选节点的网站

即能说明已经配置完毕。

分享几个较好的节点 IP,具有较强的时效性,仅供参考。

电信:

104.29.64.7
104.29.64.15

移动:

104.29.64.7
104.29.64.28

联通:

104.29.64.7
104.29.64.28
104.29.64.29

写在后面

自选完成后不代表就一劳永逸了。日常要定期检测节点状态,如果节点抽风了就要再次择优更换。

国内高峰期测速结果

发表回复

必填项已用 * 标注。