使用国内 CDN 分流加速 CloudFlare Workers
编辑前言
Cloudflare Workers 以其强大的边缘计算能力和全球 CDN 网络,为开发者提供了便捷的 Serverless 服务。然而,由于网络环境的特殊性,直接访问 Cloudflare 在中国大陆的速度可能并不理想。为了提升中国大陆用户的访问体验,我们可以利用国内 CDN (内容分发网络) 对 Cloudflare Workers 进行加速分流,实现更快速、更稳定的访问。
本文将介绍如何使用国内 CDN 为 Cloudflare Workers 站点加速,提升中国大陆用户的访问速度。 本教程提供通用的配置流程,你可以根据你选择的国内 CDN 服务商进行具体操作。
准备工作
在开始之前,请确保你已完成以下准备工作:
-
拥有 Cloudflare 域名托管:
- 你需要在 Cloudflare 上托管至少一个域名,例如
example.com
。
- 你需要在 Cloudflare 上托管至少一个域名,例如
-
创建并部署 Cloudflare Worker 或 Pages 项目:
- 你需要创建一个 Cloudflare Worker 或者 Pages 项目,并将其绑定到一个子域名,例如
a.example.com
。 - 这个子域名将作为你的源站。
- 你需要创建一个 Cloudflare Worker 或者 Pages 项目,并将其绑定到一个子域名,例如
-
拥有国内 CDN 服务账号:
- 你需要注册并开通国内 CDN 服务,例如 阿里云 CDN、腾讯云 CDN、又拍云 CDN 等。
- 本教程提供通用的配置流程,具体操作请参考你所选 CDN 服务商的文档。
创建 CDN 加速
以下是创建 CDN 加速的通用步骤,你需要根据你使用的 CDN 控制台进行操作。
-
登录 CDN 控制台:
- 访问你选择的国内 CDN 服务商的控制台并登录你的账号。
-
添加域名:
- 在 CDN 控制台中,找到 域名管理 或 添加域名 相关的入口。
- 输入你要加速的子域名,例如
a.example.com
。 注意:这里填写的是你最终希望用户访问的加速域名,而不是 Cloudflare Worker 的默认域名。
-
配置源站信息:
- 在 源站信息 配置中,选择 源站类型 为 域名。
- 在 源站地址 中,填写你的 Cloudflare Worker 或 Pages 的默认分配域名,例如
xxx.pages.dev
或xxx.workers.dev
。 - 回源协议 选择 HTTPS。
- 端口 保持默认
443
(HTTPS)。
-
配置 SSL 证书:
- 确保你的加速域名配置了 SSL 证书,并开启 HTTPS 强制跳转。
-
其他 CDN 配置 (可选但建议):
- 缓存配置: 合理配置 CDN 缓存策略。
- 区域加速: 选择 中国大陆加速 区域。
-
完成添加:
- 完成域名添加后,CDN 会分配给你一个 CDN 加速域名 (CNAME)。 请记录下这个 CNAME 值,下一步 DNS 解析会用到。
域名绑定与 DNS 解析
这一步的关键是将你的域名 a.example.com
指向 CDN 加速地址 (针对中国大陆用户),并保持境外用户直接访问 Cloudflare Worker。 我们将使用 阿里云 DNS 进行域名解析,实现 境内境外分流。
-
登录阿里云域名控制台:
- 访问 阿里云域名控制台 并登录你的阿里云账号。
- 找到你想要配置的域名
example.com
,点击 域名解析。
-
添加 DNS 解析记录:
-
确保使用 阿里云 DNS: 本教程假设你的域名解析服务商是 阿里云 DNS。 如果你的域名解析在其他地方,请将域名解析迁移到阿里云 DNS,或者参考你当前 DNS 服务商的线路类型解析功能进行配置。
-
添加 A 记录 (默认线路 - 中国大陆 CDN 加速):
- 点击 添加记录 按钮。
- 记录类型: 选择
A - 将域名指向 IPv4 地址
- 主机记录: 填写
a
(或你想要加速的子域名,例如cdn
) - 解析线路: 选择 默认 (阿里云 DNS 的 “默认” 线路通常指中国大陆地区)
- 记录值: 填写 你在 CDN 控制台中获得的 CDN 加速域名 (CNAME 值),例如
xxxx.aliyundomain.com
。 - TTL: 建议设置为
3600
秒 (1小时) 或更短,例如600
秒 (10分钟),方便 DNS 生效。
-
添加 CNAME 记录 (境外线路 - Cloudflare Worker 源站):
- 再次点击 添加记录 按钮。
- 记录类型: 选择
CNAME - 将域名指向另一个域名
- 主机记录: 填写
a
(与上面 A 记录相同) - 解析线路: 选择 境外 (阿里云 DNS 的 “境外” 线路指中国大陆以外的地区)
- 记录值: 填写 你的 Cloudflare Worker 或 Pages 绑定的子域名,例如
a.example.com
或your-worker-name.workers.dev
(推荐使用你绑定的子域名a.example.com
,保持一致性)。 注意:这里填写的是 Cloudflare Worker 的域名,而不是 CDN 的 CNAME 值。 - TTL: 建议设置为
3600
秒 (1小时) 或更短,例如600
秒 (10分钟)。
-
-
检查解析设置:
- 添加完成后,你会在阿里云 DNS 解析列表中看到两条关于
a.example.com
(或你设置的子域名) 的记录,一条是 A 记录 (默认线路) 指向 CDN CNAME,另一条是 CNAME 记录 (境外线路) 指向 Cloudflare Worker 域名。
- 添加完成后,你会在阿里云 DNS 解析列表中看到两条关于
-
等待 DNS 生效并验证:
- DNS 解析生效需要一定时间,通常几分钟到几小时不等。
- 你可以使用
ping
或dig
命令,分别在 国内和国外 的网络环境下测试a.example.com
的解析结果,验证是否生效:- 国内网络环境:
ping a.example.com
应该返回阿里云 CDN 节点的 IP 地址 (可以通过ping CDN CNAME 值
来对比确认)。 - 国外网络环境:
ping a.example.com
应该返回 Cloudflare Worker 的 IP 地址 (可以通过ping 你的 Cloudflare Worker 域名
来对比确认)。
- 国内网络环境:
- 也可以使用在线 DNS 查询工具,例如 站长工具 DNS 查询,分别选择 国内 和 国外 节点进行查询,查看解析结果是否符合预期。
原理分析
这个加速方案的核心原理是 DNS 智能解析 和 CDN 分发网络。
- DNS 智能解析: 根据用户的地理位置返回不同的解析结果,实现分线路访问。
- CDN 分发网络: 国内 CDN 在中国大陆部署节点,加速访问速度。
- Cloudflare Worker 作为源站: 境外用户和国内 CDN 回源都访问 Cloudflare Worker。
- 0
- 0
-
分享