最近利用 GitHub Actions 和 Cloudflare Pages/Worker 成功搭建并优化了我的 bpb 服务。为了防止以后配置遗忘,特意参考并记录下详细的部署与优化流程。
1. 准备工作
在开始之前,确保你已经准备好以下工具:
- 一个 GitHub 账号
- 一个 Cloudflare 账号,并绑定好了你自己的自定义域名(例如我的:
blueteahm.dpdns.org)
2. GitHub 与 Cloudflare 的联动配置
这一步我们利用 GitHub 仓库来托管代码,并通过 GitHub Actions 自动将更新同步部署到 Cloudflare。
第一步:Fork 仓库与配置 Secrets
- 前往 bpb 的 GitHub 官方项目地址,点击右上角的 Fork,将其复制到自己的账号下。
- 进入你 Fork 后的仓库,点击 Settings -> Secrets and variables -> Actions。
- 点击 New repository secret,添加以下必要变量:
CLOUDFLARE_API_TOKEN:你的 Cloudflare API 令牌(需要编辑 Workers/Pages 权限)。CLOUDFLARE_ACCOUNT_ID:你的 Cloudflare 账户 ID。
第二步:编写 GitHub Actions 工作流
在本地或 GitHub 网页端,确保 .github/workflows/ 目录下有自动化部署的 YAML 脚本,它会在你每次推送代码时自动更新 Cloudflare Worker。
3. 进阶安全防护:如何隐藏和保护你的私有服务
为了防止我们的服务被恶意扫描或滥用,强烈建议利用 Cloudflare WAF(安全规则)加上一把“隐形安全锁”。
配置“托管质询”安全门
- 登录 Cloudflare 控制台,进入你的域名安全设置:安全性 -> 安全规则 (WAF)。
- 点击 创建规则,选择 自定义规则。
- 按照如下配置:
- 规则名称:
private-service-challenge - 条件 1:
URI 路径等于/ - 条件 2 (And):
URI 查询字符串不等于pass=你的专属暗号(例如:pass=tank) - 采取的操作:选择 托管质询 (Managed Challenge)
- 规则名称:
- 点击 保存。
💡 使用小贴士:
以后你只需要访问https://你的域名/?pass=你的专属暗号即可实现免验证秒进。其余未带暗号的直接访问都会触发 Cloudflare 的人机验证,完美挡掉恶意扫描!