国内访问加速:Cloudflare SaaS + Worker
Cloudflare Pages 在国内访问极慢?用 SaaS Custom Hostname + Worker 回源方案绕过限制。
问题
Cloudflare Pages 的 IP 在中国大陆被严重限速/阻断,导致访问极慢或无法访问。
解决方案:SaaS Custom Hostname + Worker 回源
核心思路:用一个托管在 Cloudflare 的域名(如 proxy.xyz)作为回源域名,通过 Worker 代理请求到 Pages。
步骤 1:准备回源域名
购买一个便宜域名(如 proxy.xyz),添加到 Cloudflare 并使用 Cloudflare DNS。
步骤 2:创建 Worker
在回源域名的 Cloudflare 账户下创建 Worker,代码:
export default {
async fetch(request) {
const url = new URL(request.url);
url.hostname = "<your-project>.pages.dev"; // 你的 Pages 域名
const newRequest = new Request(url.toString(), {
method: request.method,
headers: request.headers,
body: request.body,
});
return fetch(newRequest);
}
};步骤 3:配置 Worker 路由
添加路由:
proxy.xyz/*example.cn/*www.example.cn/*
步骤 4:配置 SaaS Custom Hostname
- 在回源域名 zone → SSL/TLS → Custom Hostnames
- 添加
example.cn和www.example.cn - 会给出两条 TXT 验证记录
步骤 5:DNS 配置
将博客域名从 Cloudflare DNS 切换到其他 DNS 服务商(如阿里云 DNS),因为 SaaS 要求目标域名不在同一 Cloudflare 账户下管理。
在 DNS 服务商添加:
- TXT 记录(用于验证 Custom Hostname)
- CNAME
example.cn→proxy.xyz
步骤 6:等待 SSL 证书签发
Custom Hostname 验证通过后,Cloudflare 会自动签发 SSL 证书,整个过程约 5-30 分钟。
效果
中国大陆用户访问 example.cn → DNS 解析到 proxy.xyz(Cloudflare 有中国大陆友好的 IP) → Worker 代理到 <your-project>.pages.dev → 返回内容。
进一步优化:可将 CNAME 从
proxy.xyz改为cdn.anycast.eu.org(Cloudflare 优选 IP)以获得更快的国内访问速度。
这是系列文章的第二篇:
