Skip to content

OPC · 静态托管

静态托管(纯前端站发布)

把纯前端构建产物发到沉思波托管,拿到 https://chensibo.cn/sites/<slug>/ 的访问地址;每次发布一个版本目录,出问题一条回滚命令切回去。

托管计费

前提

已登录控制台,有「开放能力」权限(自己建站即可,管理员可代管);你的项目能构建出静态文件(HTML / CSS / JS / 图片一类)——托管不跑服务端逻辑。

发布与回滚走控制台 API(浏览器鉴权态即可,不涉及应用 secret)。

适用与不适用 ​

适合

作品集、落地页、活动页、社团官网;课程项目、课程作业站;纯前端小工具。

不适合

要跑 Node / PHP 等服务端逻辑的站;要连数据库、写业务接口的后端;超大体积的媒体站(受体积上限约束)。

步骤 ​

1. 建站 ​

控制台「开放能力 → 托管」新建站点,或直接调接口:

http
POST /api/console/opc/hosting
Content-Type: application/json
Authorization: Bearer {控制台登录态}

{ "slug": "my-portfolio", "name": "我的作品集" }
  • slug 是站点标识:2–32 位小写字母、数字或连字符,全站不重复,定了就是访问路径 /sites/<slug>/;
  • 建好后的详情、版本史、当前在线版本都在后台管理里。

2. 发布(deploy) ​

http
POST /api/console/opc/hosting/{slug}/deploy
Content-Type: application/json

{
  "files": [
    { "path": "index.html", "content_base64": "PCFET0NUWVBFIGh0bWw+..." },
    { "path": "assets/app.css", "content_base64": "Ym9keXt9" }
  ],
  "note": "首版:作品集首页"
}
json
{ "version": "v3", "current": "v3" }
  • content_base64 是文件内容的 base64(UTF-8 文本先转 base64 再传);
  • 服务端会做路径清洗(防 .. 穿越)、扩展名白名单校验、体积闸;
  • 发布成功即切 current 软链到新版本目录,立即生效。

3. 访问 ​

text
https://chensibo.cn/sites/{slug}/
https://chensibo.cn/sites/{slug}/about.html

把构建产物里的相对路径保持原样即可(index.html 为目录默认页)。

4. 回滚 ​

http
POST /api/console/opc/hosting/{slug}/rollback
Content-Type: application/json

{ "version": "v2" }

只切 current 软链指回历史版本目录,不覆盖、不删文件,所以回滚可以再回滚。版本列表在站点详情里看。

5. 下线 / 重新启用 ​

http
DELETE /api/console/opc/hosting/{slug}          # 禁用(不物理删)
POST   /api/console/opc/hosting/{slug}/status   # { "status": "active" } 重新启用

禁用后发布口会挡住;目录与版本史都留着。

限制(发布前先对一下) ​

项口径
允许扩展名(白名单)html css js json webp png jpg jpeg svg woff2 txt xml ico
单文件体积不超过 512KB
单次发布总量不超过 5MB
单次文件数不超过 200 个
服务端脚本不支持(无 PHP / Node 等,天然只跑静态)

超限会被拒绝并返回明确文案;要放更大的媒体资源,放对象存储 / CDN,页面里引外链。

常见坑 ​

  • 拿托管当服务器:没有接口、没有数据库;要登录 / 验证码,走统一登录与验证码的开放接口(那些接口在平台侧,不在托管目录里);
  • 绝对路径写死本地盘符:页面里引用资源一律用相对路径,换版本才不会断;
  • slug 拼错或后改:slug 就是访问路径,建站时定好;换 slug 等于新站,旧地址立即失效;
  • 把 secret 传进 deploy:发布接口用控制台登录态,不需要应用 secret;构建产物里也不该出现任何密钥;
  • 回滚不带 version:回滚必须指定目标版本号,缺参会拒——先从版本史里抄。

下一步 ​

本页讨论

0 条评论

还没有评论,来说第一句。

Ctrl + Enter 发布