我们从 Firefly 迁移到新博客啦!

新博客,新起点~

使用CloudFlare优选任何网站!

使用CloudFlare优选任何网站!

通过 Worker 反代为网站做 IP 分流优选,提高国内访问速度与可用性
优选前 ITDOG IP数量
优选前 ITDOG IP数量
优选后 ITDOG IP数量
优选后 ITDOG IP数量

优选原理

简单说,Cloudflare 的小黄云会同时托管两件事——DNS 解析层和路由规则层;只要开启小黄云,你就没法单独改解析、指向更快的节点。
而 Worker 路由的出现,让规则层和解析层都可以自己配置,这就是优选能落地的关键。

优选原理

原文:#优选原理 - 二叉树树

首先我们要知道 CDN 如何为不同域名分发不同内容。

可以将其抽象为两层:规则层解析层。当我们普通地在 Cloudflare 添加一条开启了小黄云的解析,Cloudflare 会为我们做两件事:

  • 写一条 DNS 解析指向 Cloudflare
  • 在 Cloudflare 创建一条路由规则

如果想要优选,实际上就是手动更改这条 DNS 解析,使其指向一个更快的 Cloudflare 节点。但一旦关闭小黄云,路由规则也会被删除,再访问就会变成 DNS 直接指向 IP——也就用不了了。

而 Worker 路由让自定义成为可能。

创建 Worker 路由规则(规则层)后,DNS 解析(解析层)就可以任意指向优选节点。这两件事都可以自己来做,不再依赖小黄云。

这就是经由 Worker 路由的流量能做优选的原因。

选择优选域名

优选的核心就是选择一个国内访问速度更快的Cloudflare节点IP或域名。

常用的社区优选域名:https://cf.090227.xyz

这些优选域名通常是通过扫描Cloudflare官方IP段,找出国内延迟最低的IP整理而成。

使用优选域名

这里使用 xxx.cf.090227.xyz,官方推荐优先使用自定义前缀的泛域名,例如 123.cf.090227.xyz

随后在你的域名 DNS 记录里添加一条 CNAME 记录,不要开启小黄云

添加CNAME记录
添加CNAME记录

之后想给其他站点也用这个优选,把站点 CNAME 解析到上面配置好的 123.cf.090227.xyz 即可。

各类优选方案

Page/Worker 项目优选

如果你需要优选 Page/Worker 项目,首先,如果你的项目是 Pages,需要先在 Pages 项目设置里迁移到 Workers。

接下来配置 Worker 路由:选择你的域名,路由模式填写 你的域名/*(例如 cf-blog.7o.nz/*)。

配置Worker路由
配置Worker路由

最后写一条 DNS 解析到上面配置的优选域名即可。

配置域名优选
配置域名优选

Worker 路由反代全球并优选

本方法的原理是通过 Worker 反代源站,然后对 Worker 的入口节点做优选。这不是传统意义上的优选——源站收到的 Host 头仍是源站域名,所以源站不需要为优选域名额外配置 SSL/路由。

本方案可以优选Vercel,只需要将Vercel提供的域名填写进下面的配置即可。

点击计算 --> Wokers 和 Pages 创建应用程序 --> 从Hello Word!开始 --> 修改Worker name --> 点击部署 --> 右上角点击编辑代码,将下面代码粘贴进去,随后点击部署。

详情见下图:

创建CloudFlare Worker 并修改代码
创建CloudFlare Worker 并修改代码

随后参考 Page/Worker 项目优选 进行配置即可

SaaS 外域优选

我们可以通过SaaS 自定义主机名的功能,将不属于Cloudflare的域名cname到自己的域名进行管理。
原理:我们将域名cname到Cloudflare边缘节点之后,Cloudflare会去寻找路由或者自定义主机名,如果寻找到了,就并入所属的配置,如果没有找到就1000。

这里演示Worker 绑定外部域名的路由,进行优选

  1. 首先添加一个路由,域名选择你cf的域名,路由填写你的外域域名+/*
添加外域路由
添加外域路由
  1. 然后我们到cf域名所属的SSL/TLS 自定义主机名
    添加一个回退源,这个回退源一定要开启小黄云的才可以!
  2. 添加一个自定义主机名记录
  • 自定义主机名填写外域地址
  • 证书验证方法填写HTTP验证(你已经将域名CNAME到的Cloudflare 他会自动生成http校验去帮助你完成SSL验证)
  1. 我们将外域的域名 CNAME到你的Cloudflare 优选域名去,也就是下图这样
外域域名CNAME到cf cdn域名去
外域域名CNAME到cf cdn域名去

PS:此方法同样适用于子域

CloudFlare Tunnel优选

我们需要开启自定义主机名SaaS功能!

  1. 我们先配置2个Tunnel,指向同一个服务,一个是作为SaaS 源服务器使用,一个是最终访问优选过的站点。如下图:
创建Tunne
创建Tunne

上图中 1.oi.cd 作为SaaS源服务器使用,2.oi.cd 作为优选过的站点。

  1. 我们先将2.oi.cd 这个DNS记录删掉,注意!! 这是需要到DNS记录里面删除,不要删除Tunnel!
    然后我们添加一条2.oi.cd的优选解析,最终如下图
配置优选域名
配置优选域名
  1. 下面我们点击到 SSL/TLS -> 自定义主机名(如果没有配置回退源,需要配置一个开启了小黄云的域名,再进行下面的操作) 添加一条自定义主机名配置
  • 自定义主机名:最终访问的站点,经过优选的 2.oi.cd
  • 证书验证方法:HTTP验证 (因为域名在Cloudflare 他会自己验证,我们不需要进行任何解析)
  • 自定义源服务器:填写解析记录没有动过的Tunnel,也就是1.oi.cd

保存后如下:

配置优选域名
配置优选域名
  1. 随后我们访问2.oi.cd即可实现优选。

最后

CloudFlare 的优选方案还有很多,外域优选、CloudFlare Tunnel 优选、CloudFlare R2 优选等,请点击这里查看更多。

评论区

评论加载中...