Backblaze + CloudFlare + PicGo的图床搭建
首先是感谢前人栽树环节 如果没有他们的文章我是不能很好的配置这些的
我为什么要更换图床?
去年的时候我用的是Github+Jsdelivr的方案
这个方案搭建起来没有成本 用起来速度也很不错
但缺点是 不安全 因为Github仓库是公开的
我认为不适合上传自己的照片和一些nsfw内容
我希望你唯一能看到我照片的地方就是我的网站
还有就是因为Github被干扰的力度很大 国内大概率是加载不出来照片的
Backblaze B2的配置
名字是整个B2来说全局唯一的 你可以起的长一点
目标是公众 面向外界开放
第三项是默认加密 我认为可以不启用
对象锁 限制你频繁修改统一文件 也可以不启用
EndPoint在之后的 Picgo配置会用到 你可以先记一下
然后点击上载/下载 上传一张图片 点击图片详情
主要是记一下友好URL 之后我们会把它用我们自己的二级域名给替换掉
CloudFlare配置
首先需要讲一下CloudFlare配置二级域名的问题
这里可以看一看我写的另外一篇文章
开通过后 这个二级域名就会作为我们图床的域名而存在
我们需要把友好URL的链接给转换到我们的二级域名下
到规则 转换规则下添加一条新的规则 配置如下
此时如果转换正常 你把B2的服务器链接替换成你的链接就可以浏览到图片了
例如上面这张图片的链接 https://pic.starfishpeter.com/blog/202310/202310121101217.png
但到这里还没有结束 现在的https响应头部分我们的桶名还暴露在外面 这不太好
流量会有被恶意滥用的风险
所以我们要剔除掉响应头会泄露的部分 你可以打开一张图片 然后F12查看一下
这里我的已经剔除掉了所以没有了
还是在转换规则那里 选择响应头 添加一条新的响应头规则
到这里算配置结束了 因为我是懒狗 其实可以向大佬一样再搞搞cdn加速
我这里就不多说了 可以参考大佬方案
Picgo的配置
需要先安装S3插件 可以直接应用商店搜
直接说下配置
首先我们需要B2的密钥来开放权限 创建一个应用密钥
密钥名做标识 可以随便填
允许访问的桶 就选你用来做图床的桶就行
读写都要开放
前缀最好不设 因为你文件名是picgo传过去的
持续时间 一般也不设 你用多久写多久
应用后密钥只会出现一次 最好是自己找个记事本记一下
之后回到picgo填一下配置
ID 密钥 就是你刚刚弹出的那个窗口写的
桶名不用多说
文件路径 需要参考一下大佬的笔记 你自己觉得怎么方便怎么来
我是配合Picgo设置里的时间戳重命名来用的
地区我实测不填是可以的 所以就不填吧
自定义节点 是最早最早提到的Endpoint的地址
代理 如果你有梯子的话可以填一下 这里我直接填了我clash用的代理地址
自定义域名 就是你用来做转换的二级域名
强制路径style 这个是要开的
拒绝无效TLS 这个如果没报错的话开着也行 比较安全
ACL 不用改
Bucket前缀 改成true
然后确定 你就可以试试图片可不可以正常上传上去了
总结一下
配置什么的会比Github的方案复杂很多
速度的话 如果没有第三方CDN 只靠cf自身的加速国内是比较慢的
流量来说因为cf都承担了 所以基本是不需要花费的
github 不是有私有仓库吗?在网站上公开和github公开有什么区别呢?还有一个问题,CF一定要设置二级域名吗?
私有仓库也可以,但是本质和这篇文章是一样的,需要用token然后找中间商做转换;
爬取难度的问题,如果我是公开仓库因为地址是公开的,那么它一次性就可以把我图床里所有图片爬完了,包括我没用在网站上的图片,我放在网站上的图片自然是愿意你爬的,但你没办法知道我图床里其他图片是什么;
看情况,不是一定的这里用二级域名实际是为了隐藏根服务器,B2的桶浏览是需要花费流量的,所以才会用cloudflare代理一遍,来抵消流量的消耗,如果它直接获取了我的根服务器那就直接从B2上消耗流量了,在免费额度内还好,超了就亏了。