跳到主要内容

一键站点维护模式

最后更新于:

一键站点维护模式

主站是静态 Hugo,重建要几分钟。要实现「后台点一下立刻维护页」,需要:

  1. Admin 把开关写入 ADMIN_KV
  2. 主站 EdgeOne 边缘函数拦截请求,返回 503 维护页

后台域名始终可访问,用来关维护。

能力

  • 可编辑标题、说明、可选预计恢复时间
  • 无密钥绕过:维护期间主站对所有读者只显示维护页
  • 状态接口失败时 fail-open(不因 Admin 故障把主站锁死)

Admin API

  • KV 键:site_maintenance
  • 公开:GET /api/maintenance-status(无需登录)
  • 鉴权:GET/PUT /api/v1/maintenance(不触发站点重建)

后台 UI

「系统工具 → 站点维护」:开关 + 文案表单。

边缘函数

修改仓库内 edgeone/blog-cnb-origin.js 顶部:

1const BASE = 'https://cnb.cool/<owner>/<public-dist-repo>/-/git/raw/dist';
2const MAINTENANCE_STATUS_URL = 'https://<your-admin-domain>/api/maintenance-status';

开启后对所有路径返回内嵌 503 维护页;约 5 秒缓存状态。

上线顺序

  1. 部署 Admin(公开状态接口可用)
  2. EdgeOne 控制台整文件覆盖并发布边缘函数
  3. 后台打开维护开关自测,再关回

未发布带维护逻辑的边缘函数时,后台开关不会真正拦截主站。

最新文章

本页导航