Backblaze(B2)套用CloudFlare静态文件存储
Backblaze(B2)套用 CloudFlare 静态文件存储
官方网址
免费额度
存储容量:10GB
网络流量:1GB/天
上传流量:无限
下载请求数:2500次/天
上传请求数:2500次/天
BUCKET(桶):100 个
BUCKET(桶)文件数:无限
超出了额度,收费$0.005 per GB per month for additional storage beyond 10 GB 和 $0.01 per GB beyond the free daily 1 GB.
这点流量能干点啥?
不过 Backblaze 加入了 CloudFlare 的 带宽联盟( Bandwidth Alliance) ,所以 Backblaze 与 CloudFlare 之间的流量直接免费,也就是每天* *无限量**下行流量。
配上 CloudFlare 配置缓存时间更久一些,辣么下载请求无限次免费啦。看看联盟有没有你熟悉的 LOGO?

注册账号
https://www.backblaze.com/b2/sign-up.html
填写邮箱,密码即可注册。
登陆平台 - My Account - 我的设置 - 验证 Email
提醒一下,界面右下角可以切换到简体中文

创建 BUCKET
1)登陆平台 - 创作一个桶
名称随意,桶里面的档案选择公众,其他保持默认即可
特别提醒:桶名称要复杂一些,小心被刷流量!建议生成 UUID

2)创建成功后 点击 【上载/下载】可以去上传一个文件!

3)上传成功后,单机文件可以看见文件详情内容
特别要记住友好 URL 中的域名,如图是 f004.backblazeb2.com

配置 CF
解析域名
1)登陆 Cloudflare,添加一个域名。定义一个前缀 CNAME 到 f004.backblazeb2.com
没有域名?参考文章:人人都可申请拥有 EU.org 免费域名

2)解析完成后,浏览器打开地址 https://b2.i0lo1o.eu.org/file/ruyonet123/default.png
格式 https://域名/file/桶名称/文件名
经过一波骚操作,访问 URL 提示:Error 522 错误??

错误原因
Cloudflare 通过纯 HTTP 而不是 HTTPS 访问上游服务器。
但是 Backblaze 仅支持安全的 HTTPS 连接,因此 HTTP 请求失败。
为了解决这个问题,在 Cloudflare 仪表板的 【SSL/TLS 部分】,将加密模式从“灵活”更改为“完全(严格)”,以便 Cloudflare 通过 HTTPS 连接到 Backblaze,并且需要 CA 颁发的证书。

设置缓存
这个非常有必要噢~~~
B2 桶 - 自己创建的桶 - 桶设定
桶信息填写(缓存一个月):{"cache-control":"max-age=2592000"}

Cloudflare 域名仪表盘 - 规则 - 页面规则 - 创建页面规则
URL 输入 上一步中设置的域名 https://b2.i0lo1o.eu.org/*
设置选择: 缓存级别 - 标准,边缘缓存 TTL - 1 个月

隐藏桶名
由于 URL 中暴露了桶名,CNAME 的域名又很容易被猜到,怎么防止其他童鞋恶意刷你的免费额度呢?
下面介绍一下,怎么隐藏桶名~
Cloudflare 域名仪表盘 - 规则 - 转换规则- 创建转换规则 - 重写 URL

传入请求匹配时:b2.i0lo1o.eu.org
路径重写到:选择 Dynamic 动态,concat("/file/ruyonet123", http.request.uri.path)
这里一定要填写你自己的域名哈~~ 举一反三噢~
然后浏览器打开 URL:https://b2.i0lo1o.eu.org/default.png
API 密钥
路径:My Account - 应用程序键 - 添加新的应用程序密钥
名称随意,允许访问桶 建议选择 1 个,其他默认即可

2)提交成功,一定要记住记住相关信息,关了以后密钥就看不到了,只能重新创建

文件上传
官网上传
直接登陆官网,在桶里直接上传!
WP 插件
支持 Backblaze 的 Wordpress 插件不少呢,比如下面 2 个!填写 API 密钥即可!
wordpress.org/plugins/updraftplus/
wordpress.org/plugins/ilab-media-tools/
SDK
官方提供多种语音的 SDK
其他
ShareX,MiXplorer
最后总结
Cloudflare 在国内的访问情况不太稳定。如果仅作为境外用户访问,该方式是非常不错的!
Cloudflare 规则中可以支持防盗链等等配置,这里就不多介绍了。
B2 免费额度用光,静态文件将无法访问,第二天恢复。