利用带宽联盟实现CloudFlare + Backblaze B2私有存储桶 的免费流量方案
各位MJJ应该都不陌生,cf搞了个带宽联盟,从backblaze b2通过 cf传出的数据完全免费,不计入 B2 的带宽费用。这意味着:你可以将文件存储在 B2,然后通过cf分发,不产生任何下载流量费用。
但是,backblaze现在创建公开存储桶需要绑定信用卡才行:
诶,那如果我们利用带宽联盟的特性使用workers将私有存储桶代理为公开的、可访问的链接不就可以绕开限制了,下行流量还完全免费,岂不美哉🤓
于是,这个S3 CloudFlare Workers 代理
项目孕育而生。
GitHub Gist: S3 CloudFlare Workers 代理
部署
- 准备 Backblaze B2 存储桶
- 注册 Backblaze 账号(无需信用卡)
- 创建一个 B2 存储桶,选择私有即可。
- 创建一个应用密钥(App Key)并记录下 keyID 和 applicationKey
- 设置 CloudFlare Workers
- 进入 Workers & Pages 页面
- 创建新 Worker(名称随意,如 "b2")
- 将GitHub的代码丢进去,记得替换配置:
const CONFIG = {
// 存储桶配置
buckets: {
// 格式: "存储桶名": { endpoint, accessKey, secretKey, isPublic }
"example-bucket": {
endpoint: "https://s3.region.backblazeb2.com", // 必须包含 https:// 前缀
accessKey: "YOUR_ACCESS_KEY", // 你的accesskey
secretKey: "YOUR_SECRET_KEY", // 你的secretkey
isPublic: true // true = 公开访问模式, false = 私有访问模式
},
// 可添加多个存储桶
"private-docs": {
endpoint: "https://s3.region.backblazeb2.com",
accessKey: "ACCESS_KEY_FOR_PRIVATE",
secretKey: "SECRET_KEY_FOR_PRIVATE",
isPublic: false
}
},
- 单击部署按钮即可
完成后可通过类似于https://your-worker-name.your-account.workers.dev/mjjages/path/to/file.jpg
访问你的文件。
其他
- 以看到该workers支持设置多个存储桶,也就是说你可以创建多个储存桶并在一个workers下面使用。
- 该workers也可以设置私有模式,也就是把这个作为单纯的代理使用也是可以的,在此模式下你仍然需要鉴权才能访问存储桶的文件。
版权声明:
作者:pddpdd
链接:https://pddpdd.cn/672.html
文章版权归作者所有,未经允许请勿转载。
THE END