用 Cloudflare Pages 免费部署全局重定向中间层
为什么选 Cloudflare Pages
Cloudflare Pages 是目前免费部署重定向中间层的最佳选择之一:
- 完全免费:无限带宽(对个人用途来说)
- 自动 HTTPS:Pages 项目自带 HTTPS
- CDN 全球加速:请求从最近的 CF 节点返回
- 绑定自定义域名:可以用你自己的域名
- 国内可访问:CF Pages 在国内网络环境下通常可用
前置准备
你需要:
- 一个 Cloudflare 账号(免费注册)
- 一个 GitHub 账号(用于连接代码仓库)
- 可选:一个你自己的域名(用于绑定 CNAME)
步骤一:Fork uweb 仓库
- 在 GitHub 上访问
torappinfo/uweb - 点击右上角 Fork 按钮,把仓库 fork 到你自己的 GitHub 账号
- ⭐ 必须点击 Star!(仓库要求)
步骤二:创建 CF Pages 项目
- 登录 Cloudflare Dashboard
- 左侧菜单找到 Pages(或在搜索框里搜 "Pages")
- 点击 Create application → Connect to Git
- 选择 GitHub 作为 Git 提供商
- 授权后,选中你刚 fork 的 uweb 仓库
- Build configuration 默认即可(构建命令和输出目录保持原样)
- 点击 Save and Deploy
等待构建完成(大约 1~3 分钟),你会得到一个类似 https://uweb-xxx.pages.dev 的预览 URL。
步骤三:配置重定向中间层
CF Pages 部署完成后,重定向中间层已经就位。你需要把它的 URL 配到 uWeb 里:
- 回到 CF Pages 控制台,找到你项目的
.pages.devURL - 格式应该是
https://xxx.pages.dev/ - 在 uWeb 里,长按设置 → 自定义资源重定向
- 在全局重定向 URL 里填入
https://xxx.pages.dev/redirect?(注意末尾的?)
URL 拼接规则
因为你用的是以 ? 结尾的格式,拼接方式是:
https://xxx.pages.dev/redirect? + 原始URL
例如你访问 https://github.com/user/repo,实际请求变成:
https://xxx.pages.dev/redirect?https://github.com/user/repo
步骤四:(可选)绑定自定义域名
.pages.dev 后缀的 URL 已经能用,但绑定你自己的域名更好。
- CF Pages 控制台 → 你的项目 → Custom domains 选项卡
- 点击 Set up a custom domain
- 输入你想绑定的域名(如
proxy.yourdomain.com) - CF 会告诉你需要添加什么 DNS 记录
- 到你的域名 DNS 服务商添加对应的 CNAME 记录
- 等待 DNS 传播(通常几分钟到几小时)
- 回到 uWeb,把全局重定向 URL 改成你自定义域名的形式
步骤五:测试
- 强制清空后台重启 uWeb
- 打开之前访问不通的国外网站(如 Google、GitHub raw 内容、Wikipedia 等)
- 应该能正常加载,而且速度比直连快
- 如果仍然加载不出来:
- 检查全局重定向 URL 是否正确
- 检查中间层是否还在线(用普通浏览器打开那个 URL 试试)
- 检查末尾是否正确添加了
redirect?
Vercel 替代方案
如果你更喜欢 Vercel,也可以:
- Fork
torappinfo/vercel仓库 - 在 Vercel 控制台导入项目
- 部署完成后得到
xxx.vercel.appURL - 在 uWeb 里填入该 URL + 正确的后缀拼接格式
Deno Deploy 替代方案
用 torappinfo/fetch 仓库的 deno.js 入口,部署到 Deno:
- Fork 仓库
- 在 Deno Deploy 控制台选择该仓库 + deno.js 入口
- 部署完成后得到
xxx.deno.devURL
Cookie 安全提醒
再次强调:全局重定向中间层可以看到你所有网络请求的完整内容,包括:
- 你访问的每个 URL
- 请求头(包括 Cookie、认证信息等)
- 请求体(POST/PUT 内容)
一定要用你自己部署的中间层,不要把这个 URL 指向你不信任的人或服务。
下一章
重定向体系到此为止。继续看: