博客 cn 站搭建 v3 v3.1

本文最后更新于 2024年2月23日 晚上

1. 架构设计

v3.1 版本

blog-build-v3.1

2. v2.x 存在的痛点

在v2.x版本中,围绕 服务器 遇到了两个主要的问题:

  1. 服务器成本高:博客以静态页面为主,理论上可以实现无服务器部署,但是为了防止恶意攻击,不得不使用服务器进行访问控制。
  2. 架构复杂:由于使用了服务器进行访问控制,虽然鉴权逻辑更加灵活,但是导致架构较为复杂,维护成本相对静态存储更高。

3. v3 对比 v2 的主要变化

针对以上痛点,v3 版本做出了如下改变:

  1. 删除服务器,使用 CDN 进行访问控制:在保证安全性的同时,降低成本,降低复杂度。
  2. DevOps 工作流从 阿里云云效 迁移到 腾讯云Coding:适配腾讯云 COS。

此次版本迁移的最主要原因是腾讯云 CDN 支持更加细粒度的访问控制,这在一定程度上满足了 cn 站当前的业务需求。

4. 主要数据流介绍

  1. 访问:访客/用户从公网访问 cn 站点,由 CDN 进行响应;回源等操作采用私有连接。
  2. 存储:创作者/管理员使用 GitHub 进行博客内容的维护,以及 com 站的自动化部署。
  3. 自动化部署:创作者/管理员将博客内容推送到 Coding,由 Coding 触发 cn 站的自动化部署。

4.1. 自动部署流程说明

  1. 自动添加备案信息
  2. 添加网站统计代码
  3. 搭建 Hexo 环境,并构建博客,生成静态页面
  4. 将静态页面上传到 COS
  5. 触发钉钉机器人,发送部署通知
  6. 刷新 CDN 缓存

腾讯云 CDN 连接 阿里云 OSS

由于原本的图库位于阿里云 OSS,同时 腾讯云 CDN 支持回源到第三方存储,包括 OSS,所以此次尝试了一下这个 腾讯云 CDN + 阿里云 OSS 的尴尬组合。

具体配置请参考:


ID: B2-P2+1.1.0


博客 cn 站搭建 v3 v3.1
https://blog.cc01cc.cn/2024/01/29/blog-build-cn-v3-v3-1/
作者
零一/cc01cc(zeo)
发布于
2024年1月29日
更新于
2024年2月23日
许可协议