如何通过Backblaze云存储+Cloudflare来搭建高速安全的免费图床或外链
独白
正常搭建一个网站或者任何东西,都需要用到存储,他可能是一张图片,也有可能是一个下载包,或安装包,如果我们把他上传到一些免费的图片或者网盘上面,又担心跑路,如果我们把他上传到一些大厂上面,又需要一笔不小的费用,又或者是有某些限制,用起来极其的不方便。
其实最稳妥的办法依旧是使用大厂的存储,来存储一些非常重要的资料,但如果是个人想玩玩,又不想一下子投入太多的金钱,我们就可以找到平替的方法,
所以,我使用了Backblaze来作为存储桶,没有其他的原因,主要是因为他本身够便宜
他的存储费用是0.005美元/G/月,
最关键的是Cloudflare和Backblaze都是Bandwidth Alliance(带宽联盟)的成员,它们之间的数据传输(带宽)是免费的,而Cloudflare的CDN服务也不收费,那么这样一来就不用担心流量费用的问题!而且Backblaze前10G是免费的,所以理论上来说,小站长存储的文件在10G以内,就等于是免费使用,
Backblaze账号注册
打开官网链接进行注册:https://www.backblaze.com/
这步就略过了,翻译一下页面,很容易就可以注册了,
存储桶创建与上传文件
1:我们进入后台后找到B2 Cloud Storage - Buckets
2:点击创作一个桶
桶独特名字:自定义,其他的配置可以如下图,也可以按自己的需求配置。
然后点击进入生命周期设置
把他设置成只保留最后一个文件 ,防止重复,当然啦,如果相同路劲相同文件名和格式的情况下就会覆盖啦,所以这里大家要注意一下,上传文件的格式名称,应当使用变量
这个时候就可以点击上传一个文件,随便上传一个文件即可就可以得到相关的接口地址
但是这个时候还要注意,如果直接把这种链接分享出去,不仅会暴露自己的桶信息,还有被刷流量的风险,导致免费的流量被用完
所以,我们需要设置Cloudfare,用Cloudfare来充当流量,把所有的文件都缓存在Cloudfare上面
Cloudfare的配置
将你的域名托管到Cloudfare后,打开DNS>Records,点击Add record添加记录
在Cloudfare中添加一条CNAME记录,做好以下设置后点Save保存:
二级域名自定义,这里我设置成img
Target设置为你的Friendly URL的域名
将Proxy status设置为开启,这样就会同时启用Cloudfare代理以及CDN服务
TTL默认Auto
这里添加的解析域名:f005.backblazeb2.com,是来自刚才的友好url中的地址
然后打开SL/TLS>Overview,将SSL/TLS的加密模式设置为完全(严格)
点击配置
等待生效后这个时候就可以访问刚才上传的图片了
// 原先的:
https://f005.backblazeb2.com/file/桶名称/文件名.jpg
// 现在的:
https://你的域名/file/桶名称/文件名.jpg
优化链接
但是使用中发现,链接中还是包含了桶名称的路劲
所以需要用到规则中的转换规则
我们创建一个重写URL的规则
写好名称并选择自定义筛选表达方式
写好请求匹配规则
not starts_with(http.request.uri.path,"/file/这里写桶名称")
我们在选择Dynamic
concat("/file/这里写桶名称",http.request.uri.path)
然后保存就成功了,
这时候我们可以在看看我们的链接
// 原先的:
https://你的域名/file/桶名称/文件名.jpg
// 优化的:
https://你的域名/文件名.jpg
我们的路劲已经可以以根目录的形式访问到文件了
优化响应头
还可以把一些与b2存储桶相关的响应头给隐藏起来
操作方式直接上图
X-Bz-Content-Sha1
X-Bz-File-Id
X-Bz-File-Name
X-Bz-Info-Src_last_modified_millis
X-Bz-Upload-Timestamp
这里可以自己访问刚才上传的图片F12看一下响应头,然后把相关的不想展示出来的隐藏掉,
我已经隐藏了,我们在来看一下有没有生效
通过F12可以看到,响应头已经被隐藏起来了,
缓存设置
我们需要设置缓存,让Cloudflare能够更好的命中缓存
点开桶设定,
并把:{"cache-control":"max-age=5184000"} 写入桶信息中,其中5184000是秒的意思,换算成天也就是60天
然后我们就可以看到已经缓存成功了。
申请Application Key
在Backblaze云存储中打开Application Keys,点击Add a New Application Key
第一行,输入名称,
第二行,选择你的桶,其他按图所示
点击创建后,会显示出来桶的信息
复制keyID和applicationKey,特别是applicationKey,只会显示一次,忘记的话重新创建一个新的Application Key即可
到了,这里我们已经把所有的工作都做完了,
可以用这个生成的ID和KEY去对接任何支持b2或者s3的接口
比如ShareX这个软件,他就可以轻松的在windows环境中使用,把图片或者任意文件上传到我们的桶中
ShareX上传文件
ShareX下载
设置上传目标
然后我们把刚才创建的keyID和applicationKey填写进去,KEY就是密钥
然后就是桶名称,上传路劲可以选择一个大类,针对多项目的需求来创建,然后可以选择软件功能,支持变量日期等,我选择的是panxp/月
也就是我上传的所有文件都会在panxp这个文件夹中,然后在以月去区分文件夹
使用自定义url就是你用来提供给外部访问的URL,这个URL可以用另外一个域名去套一些CDN用来加速访问,也可以直接用刚才解析到CF上的域名,但是CF的域名他针对国内速度会慢一些,所以可以用一些国内的CDN,来加速一下,
还需要注意的是 需要把上传目标都设置为我们刚才配置好的b2 上面去
CDN配置
如果我们需要配置国内的CDN,这里我以:su.19nav.com
这个CDN商家可以加把每个G的价格给到5分钱,相对来说还是比较便宜的,注册后联系客服QQ:423889236 要求调价格即可
我们添加一个域名,选择静态加速
加速的域名写你需要对外展示的域名,源站类型选择域名,添加刚才CF上添加的域名
需要配置SSL,这是硬性要求因为需要用HTTPS的方式来回源
我们在回源配置中把 域名级回源HOST改为自定义域名,填写你刚才在CF上添加的域名,设置回源协议为https
因为如果不设置https回源的话,你访问这个CDN域名 ,他会直接301跳转到cf的域名上面,
到此结束。
1:文章:如何通过Backblaze云存储+Cloudflare来搭建高速安全的免费图床或外链
2:链接:https://www.panxp.com/23.html
3:文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请发送邮件至silverornament@qq.com进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 如您发现本站提供资源链接失效或有违规现象,请联系我们处理。