Backblaze是2007年创立的美国云存储和数据备份公司,数据可靠性和SLA不用过于担心。
Backblaze B2 是一个云存储解决方案,类似于Amazon AWS S3, 但是价格稍微便宜一些. Backblaze的云存储每个注册用户拥有10G免费空间以及每天1G的下载流量,上传流量不限。超过免费额度后的价格以及与其他几家主流商家的对比见下图。
在backblaze存储1T的内容也仅需$5/月,不过流量费还是比较贵的 ,上传流量不限。由于 Bandwidth Alliance(带宽联盟),Backblaze 到 Cloudflare 之间的出口是完全免费的, 所以Backblaze B2可以配合cloudflare CDN来使用达到无限免费下载流量。
Backblaze宣布与Cloudflare合作,免除掉Backblaze到Cloudflare的流量费用。
因此我们得到如下网盘/图床产品:
- 10G存储空间免费, 全球最可靠的云存储服务
- 上行免费
- 下行免费
- 可自定义域名
- 全球最强CDN加速
搭建自定义域名图床教程开始
首先,你需要有一个域名,选择一个子域名作为图床的域名。关于图床的二级域名命名,一般有以下几种:
img
images
assets
static (不仅存放图片,还有存放 css、js)
然后,创建 Backblaze B2 Bucket(存储桶) 。
在 Backblaze’s B2 storage 注册一个账号,注册好了后,在后台面板选择 “Buckets”(存储桶),然后点击 “Create a Bucket”,创建一个存储桶。选Public,以便所有人可访问。
回到 “Buckets(存储桶)” , 在你刚刚创建的存储桶上,点击 “Upload/Download(上传/下载)”. 上传一个临时的测试文件到存储桶中,然后在你刚上传的文件处,点击 “i(information,信息)”. 这是为了获取下一步需要的信息,你的存储桶处于哪台服务器上.
最后,获取到地址之后就登录cloudflare,给你的域名添加一个子域名,并新增一条cname记录,指向文件地址中的域名。例如:
将img.bawodu.com通过cname到f000.backblazeb2.com
效果便是
https://img.bawodu.com/file/nilayp/img.jpg
指向
https://f001.backblazeb2.com/file/nilayp/img.jpg
新增一条cname记录到backblazeb2.com
根据上面截图中的记录, 我使用这个子域名 img.bawodu.com作为图床的域名, 并且指向 f000.backblazeb2.com. 确保 Cloudflare 橙色保护盾是开启的状态, 这代表请求是通过了 Cloudflare 的 CDN 代理层. Cloudflare 默认的 TTL 将被设置为 auto(自动).
虽然启用了CloudFlare CDN,但发现缓存永远不能命中(MISS),我们需要对添加一个缓存指令(默认是不缓存),打开存储桶设置,桶信息设置为{“cache-control”:”max-age=43200″},其中43200单位为秒(s),意思就是说43200秒内CF不会去从源站重新获取资源。
Cloudfalre的ssl设置需要使用full,因为backblaze仅提供https访问地址。
设置SSL,开启 https 访问
当然你如果觉得文件链接不好看太长了,你也可以使用cloudflare自带的页面规则301 ,缩短链接地址,比如通过 https://img.bawodu.com/img.jpg 直接访问 https://f001.backblazeb2.com/file/nilayp/img.jpg 。设置方法如下图:
使用cloudflare自带的页面规则301 重定向
最后,请注意:Backblaze B2 流出到 Cloudflare 的流量是免费的,也就是说就算 CF 回源 B2 也没有 $0.01/GB 的流出流量费,相当于免费无限流量。不过这并不能阻止坏蛋直接用 B2 的域名(而不是套了 CF 的域名)刷流量。