Backblaze(简称B2)免费对象存储对接CloudFlare全流程

Backblaze(简称B2)免费对象存储对接CloudFlare全流程

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

该文章介绍了如何注册Backblaze(简称B2)对象存储,并提供了注册步骤和免费额度信息。文章还介绍了使用Wrangler推送Worker实现B2私有桶对接CloudFlare的方法,并提供了安装和配置的步骤。此外,文章还提供了如何配置CloudFlare CDN缓存和Worker路由到域名的技巧,以及Rclone进阶技巧。

🔎

延伸解读

免费额度的实际限制与应对

Backblaze B2免费账号提供10GB存储和每天各2500次B类与C类操作。B类操作包括Get Object等读取行为,C类为List操作。由于额度用尽后会返回403/404错误,且不会产生欠费,适合个人小规模使用。但需注意,若通过Worker代理访问,每次请求可能消耗B类操作,高频访问易触发限制。文章建议使用Rclone时调整并发参数以减少操作次数,例如设置--checkers和--transfers为8,并利用--fast-list等选项优化。

私有桶与Worker代理的必要性

未付费开通权限的B2账号只能创建私有桶,无法直接公开访问。文章通过Cloudflare Worker将私有桶代理至自定义域名,实现公开读取。这一方案无需额外付费,但需部署Worker并配置路由。Worker代码中可设置ALLOW_LIST_BUCKET为false以屏蔽目录列出,增强安全性。同时,Worker路由需与桶内路径严格匹配,否则需修改JavaScript代码。对于希望节省流量的用户,此方法可让流量经由Cloudflare,避免B2直接流出。

CDN缓存配置的关键步骤

为提升访问速度并减少B2操作次数,文章建议配置Cloudflare CDN缓存。首先需在B2桶设置中指定Cache-Control头,例如public, max-age=15552000。其次,通过Cloudflare页面规则或缓存规则,针对文件类型设置缓存策略,如对200状态码缓存一年,对403/404缓存一小时。配置后需等待约10分钟,并刷新图片确认缓存状态显示为HIT而非Bypass或MISS。正确配置后,重复请求将直接由CDN响应,显著降低B2的B类操作消耗。

Rclone使用中的注意事项

由于B2对B类操作限制严格,常规Rclone并发调用可能迅速耗尽每日额度。文章提供的上传命令通过--s3-no-head等参数绕过Head请求,减少操作次数,但可能因强制上传导致文件多版本。此时可使用rclone backend cleanup-hidden清理隐藏版本,该操作属于A类(Put/Delete),免费且无限。若需清空桶,文章也给出了相应命令。这些技巧有助于在免费额度内高效管理文件,但需注意操作可能需重复执行以确保成功。

❓

Q&A

如何注册Backblaze B2对象存储?

访问Backblaze官方网站,使用任意邮箱注册,无需银行卡和身份验证。

Backblaze B2的免费额度是多少?

免费账号支持10GB存储,每天2500次B类和C类操作。

如何使用Wrangler推送Worker实现B2私有桶对接CloudFlare?

安装Wrangler后,配置wrangler.toml文件并使用命令wrangler publish或wrangler deploy进行部署。

如何配置CloudFlare的CDN缓存?

在B2的桶设定中设置缓存控制,并通过页面规则配置文件走缓存。

Rclone在使用B2时有哪些进阶技巧?

需要调整并发调用,使用特定的上传命令,并可通过清理版本和清空桶的命令管理文件。

如何配置CloudFlare Worker路由到域名?

确保文件放在桶的根路径或一级文件夹,并配置域名的路径匹配。

🏷️

标签

➡️

继续阅读