基于Cloudflare实现境外分流

基于Cloudflare实现境外分流
yngcy一、前言
此前,使用国内 CDN 加速了网站的访问速度,但对于国外的访问速度还是比较慢。我的需求是对于境内的访问还是使用国内的 CDN,而对于境外的访问,使用国外的 CDN 分流,并且还能抵御一定的攻击。在网上搜索了一些文章后,发现 Cloudflare 完美适配了我的需求。
二、什么是Cloudflare
Cloudflare 是一家网络性能和安全服务的公司,其产品涵盖 CDN、DDos 防护、互联网安全以及 DNS 等多个领域。
官网:Cloudflare
Cloudflare 适合跨境独立站的场景,能够有效防住大部分网络攻击。此前,大多数站长以 CNAME 的方式解析到 Cloudflare,但是现在免费版的 Cloudflare 已经不再支持,只能使用 NS 记录的方式。虽然网上有不少教程提供了“逃课”的办法(例如暂时修改为 NS 记录再改回来使用 CNAME),但是还是会被官方检测到。
NS 记录(Name Server Record,名称服务器记录)是 DNS(域名系统)中的一种记录类型,用于指定管理特定域名的 DNS 服务器。NS 记录告诉 DNS 解析器要查询哪些服务器以获取该域名的详细 DNS 记录(如 A 记录、MX 记录等)。
随后,Cloudflare 更改了 Cloudflare for SaaS 的收费策略,每个账户能够创建 100 个域名免费使用。因此可以使用 Cloudflare for SaaS 把域名通过 CNAME 接入 Cloudflare。
三、Cloudflare分流思路
本篇文章以本站为例,目前本站由阿里云 DNSPod 解析国内 IP 字段,再由 多吉云 为提供 CDN 加速服务。但对于国外的 IP 并没有加速,如果使用境外 IP 进行访问时,可以利用 Cloudflare 分流,Cloudflare 回源地址为 GitHub Pages,这样能够利用 Cloudflare 减少海境外的 DDos 攻击,同时也能够加快境外的访问速度。
四、前期准备
在开始之前,你需要一些准备,包括:
服务器:即回源地址,推荐海外服务器,如果是国内的服务器,需要域名进行 ICP 备案。当然没有服务器也可以,例如本教程中使用 CNAME 解析到 GitHub Pages。
加速域名:即实际加速的网站,对于本文来说,即博客域名
blog.yngcy.com
;中转域名:临时的域名,这里推荐 us.kg 免费域名,支持 Cloudflare 中转。当然你也可以在其他服务厂商注册个域名;
Paypal 或信用卡;
这里需要中转域名是因为一个域名需要以 NS 方式接入 Cloudflare,本文以免费的域名 yngcy.us.kg
作为中转域名。
准备完成后,下面我们就来实现。
五、Cloudflare分流实现
5.1 添加中转域
登录 Cloudflare,添加中转域。
选择 Free 计划。
然后会扫描这个域名下的 DNS 记录,yngcy.us.kg
是一个新注册的域名,所以这里应该什么都没有。
等待一会儿,在页面下面看到更新名称服务器。
然后到域名注册处更改名称服务器。
修改完成后,回到 Cloudflare 控制台,点击校验名称服务器。
等待一会儿后(大概 10 分钟左右),如果收到邮件说明检测通过。
5.2 添加DNS记录
进入到中转域的控制台,点击 DNS-记录
,本文添加了 CNAME 记录,指向 GitHub Pages。如果你有一台海外服务器,那么你要添加的是这台海外服务器的 IPv4 地址。注意,如果是指向的是国内的服务器,需要进行域名备案。
在上图中,我使用 CNAME 的方式解析到了 GitHub Pages。前提是在 GitHub Pages 仓库中绑定的域名,如下图。
5.3 开通Cloudflare for SaaS
点击 SSL/TLS-自定义主机域名
,启用 Cloudflare for SaaS。
然后使用信用卡或 Paypal 帐户,然后付款 0 刀。
付款后,提示完成订阅。
5.4 添加回退源
输入回退源,点击添加。这里的回退源就是刚才添加的 DNS 记录域名。
添加完成后,大约等待 1 分钟刷新页面,就可以看到回退源状态为有效了。
5.5 添加自定义主机名
这里的主机名也就是加速域名,本文以 blog.yngcy.com
为例。
在上图中,证书验证方法选择 TXT 验证。到加速域名的域名厂商处添加 TXT 解析记录即可(下图以阿里云为例)。
等待一会儿后,就可以看到验证成功。
5.6 添加CNAME记录
到加速域名的域名厂商处添加 CNAME 记录,值为中转域名。注意 ISP 设置为境外。
5.7 开启 HTTPS
从安全的角度考虑,SSL/TLS 加密模式选择 完全(严格)。
然后点击右侧边缘证书,打开始终使用 HTTPS。
5.7 测试
下面使用站长工具进行 Ping 测试,效果如下。
可以看到,使用双线(国内多吉云CDN + 国外Cloudflare)加速效果十分明显。
六、写在最后
以上就是本文的内容,其实使用 Cloudflare 分流就是一种多站部署的优化。我们可以通过访问一个域名,然后由 DNSPod 来帮我们根据 IP 选择线路,不同的线路采用不同的 CDN 进行加速,从而减小网络传输时延。
如果你对本文有什么疑问或新的想法,欢迎评论!🐶