CDN 和图床架构图
泽的个人资料照片
137notes
  • May 20, 2024
  • 5 min read

当前在用的图床, CDN 分享

  • Backblaze B2/Cloudflare R2: 文件储存
  • PicGo :文件上传+文件压缩

B2 的存储是免费 10G,CDN 联盟之间流量是免费的,通过 Cloudflare Workers 访问基本是够用了。

1. 注册Backblaze

  • 创建桶, public 需要1刀,选 private 的就好
  • 创建 application key

2. 配置 Cloudflare Workers 访问 Backblaze B2

官方教程: https://www.backblaze.com/docs/cloud-storage-deliver-private-backblaze-b2-content-through-cloudflare-cdn

先安装 wrangler: npm install -g wrangler init project 的三个方法

  • clone templte: wrangler generate my-proxy https://github.com/backblaze-b2-samples/cloudflare-b2 提示已经不推荐这个方法
  • 新的方式: npm create cloudflare@latest — b2-proxy-worker,会提示让你输入 git url, 结果报错 no wrangler.toml
  • 最方便可能是: 直接 git clone, 修改 cp wrangler.toml

接下来执行

npm install wrangler deploy workers 就已经成功部署了

3. workers设置自定义域名

方法一: 直接在 cloudflare dash, workers settings 直接加

方法二: 本地修改 wrangler.yaml 再 deploy 注意: domain 不能放到 [vars] 里面,否则不生效,在这里浪费了不少时间

4. 设置密钥, 而不是明文写在文件中

B2_APPLICATION_KEY_ID = “xxx” B2_APPLICATION_KEY=“xxx” B2_ENDPOINT = “xxx” BUCKET_NAME = “xxx” ALLOW_LIST_BUCKET = false wrangler secret put B2_APPLICATION_KEY_ID wrangler secret put B2_APPLICATION_KEY wrangler secret put B2_ENDPOINT wrangler secret put BUCKET_NAME wrangler secret put ALLOW_LIST_BUCKET

5. 设置 cache

Backblaze 默认没有设置缓存,这样每次Cloudflare Workers都会到Backblaze源服务器取数据。

到Backblaze 后台点开桶设置 设置 Bucket Info 为 {“cache-control”:“max-age=720000”},即72000s更新 注意:源文件更改会不会及时更新,按需求配置

粗略记录一下过程

技术 CDN 图床 工具分享

Related posts

Cloudflare Tunnels 配置截图

超级方便的穿透回家 cloudflare tunnels

Cloudflare Tunnels 搭配 Tailscale 使用

Apr 1, 2025 10 min read
Mac mini M4 设备图

Mac mini m4 远程开发机

和现在的国补价对比,买早了巨亏

Mar 15, 2025 8 min read