涅槃博客 - Backblaze
type: channel
link: https://www.niepan.org/tag/Backblaze/
items: Backblaze B2注册及CloudFlare CDN设置

Backblaze B2注册及CloudFlare CDN设置
type: item
date: 2021-12-04T15:54:00+08:00
description: 关于BackblazeBackblaze是一个成立于2007年，致力于为用户提供低廉的在线备份服务的国外在线备份和存储服务商。Backblaze B2是Backblaze推出的云存储服务，主要用于存储文件、在线上传和下载、共享浏览和播放视频等并且提供了丰富的API。Backblaze为每位用户提供免费10GB的存储额度，1天1GB的流量，从上图可以看出超额的存储是$0.005/GB/月，流量是$0.01/GB，价格基本是AWS S3的1/4左右。所以如果不考虑国内访问速度的话，应该是非常不错的选择。由于 B2 与 CloudFlare 合作，所以套上 CloudFlare 后并不会消耗流量，所以非常适合拿来做图床。比如ImgURL Pro就支持上传和存储图片到Backblaze B2。Backblaze账户注册Backblaze官网地址：https://www.backblaze.com/Backblaze注册入口：https://www.backblaze.com/b2/sign-up.html如果你也对Backblaze感兴趣可以通过上面网址进行注册。填入邮箱地址和密码后直接注册即可，就不贴图了。注册成功后用你的邮箱地址和密码登录，会提示让你添加电话号码，按照下图直接进入设置，添加电话号码并验证后就完成了注册，如果没有收到验证邮箱的邮件，可以到设置里验证一下就行，接下来就可以使用Backblaze B2存储服务了。创建/设置存储桶接下来我们直接创建一个存储桶，操作也十分简单，看下图。点击左侧的 桶（Buckets）-- 创作一个桶 -- 输入存储桶唯一标识（6位以上）-- 权限选择公众 -- 创建即可获取API KEY及存储桶参数创建好存储桶以后，就可以上传文件了，上传的文件可以在浏览档案项查看文件外链如果我们要使用API调用Backblaze B2的话，需要获取到以下几个重要参数：桶身份证（Buckets ID）：左侧菜单“ B2云存储 ” -- 桶，右侧存储桶信息里就可以看到“桶身份证”，把它记录下来。（见上图）“ KeyID ”和“ 主程序密钥 ”：点击左侧菜单“ 应用程序键（App Keys）”，右侧就可以看到“ KeyID ”，然后点击“ 生成新的主应用程序密钥 ”（只会出现一次，请妥善保存）。（见下图）文件外链地址：点击“ 上传/下载按钮 ”，随便上传一个文件，点击文件详情，获取友好的URL地址。（见下图）比如上图中的文件的友好URL：https://f002.backblazeb2.com/file/vpsimg/701b59d324821930c9e6a6b32806c736be2ed3ae86b8d-LPkZUl.jpg我们需要的就是上面链接中的前面部分：https://f002.backblazeb2.com/file/vpsimg/上面链接末尾必须要带有斜杠 /这时，我们就可以将上面获取的四个参数设置到对应的项目中即可调用Backblaze B2的文件了。比如ImgURL Pro，我们将 KeyID 、主程序密钥、桶身份证 填入 config.php 里，将上面获取的 文件外链地址 填入后台存储方案 ，绑定域名即可。接入CloudFlare CDN虽然Backblaze B2已经足够便宜，本着能省则省的原则，我们可以按照官方博客的方法将B2接入CloudFlare CDN进行缓存，从而进一步节省流量开支。1、首先将你的域名接入 CloudFlare ，然后将域名CNAME解析到你的B2域名（即我们上面获取到的文件外链地址域名 f002.backblazeb2.com ）。比如：我在CloudFlare接入的域名为img.niege.ga，在我将 niege.ga 接入CF以后，在域名管理页面，点击 DNS 然后添加一条名称为 img 、类型为 CNAME 、目标为f002.backblazeb2.com 、并且打开代理的黄色小云朵。接入CloudFlare的更多说明可以参考官方博客：Using Backblaze B2 with the Cloudflare CDN2、然后点击 规则(Page Rules) 页面的创建页面规则按钮。重写规则为https://<刚才解析的域名>/file/<存储桶>/*比如我这里就是：https://img.niege.ga/file/vpsimg/*设置选择：缓存级别 -- 缓存所有内容保存并部署设置Backblaze B2虽然启用了CloudFlare CDN，但发现缓存永远不能命中（MISS），我们需要对添加一个缓存指令（默认是不缓存）。打开存储桶设置，桶信息设置为{"cache-control":"max-age=43200"}，其中43200单位为秒(s)，意…