- Backblaze B2/Cloudflare R2: 文件储存
- PicGo :文件上传+文件压缩
B2 的存储是免费 10G,CDN 联盟之间流量是免费的,通过 Cloudflare Workers 访问基本是够用了。
1. 注册Backblaze
- 创建桶, public 需要1刀,选 private 的就好
- 创建 application key
2. 配置 Cloudflare Workers 访问 Backblaze B2
先安装 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更新 注意:源文件更改会不会及时更新,按需求配置
粗略记录一下过程