Backblaze + CloudFlare + PicGo的图床搭建

Backblaze + CloudFlare + PicGo的图床搭建

首先是感谢前人栽树环节 如果没有他们的文章我是不能很好的配置这些的

Backblaze B2 + CloudFlare + 反代 + PicGO 实现快速免费图床

https://blog.ostdb.info/54300

我为什么要更换图床?

去年的时候我用的是Github+Jsdelivr的方案

这个方案搭建起来没有成本 用起来速度也很不错

但缺点是 不安全 因为Github仓库是公开的

我认为不适合上传自己的照片和一些nsfw内容

我希望你唯一能看到我照片的地方就是我的网站

还有就是因为Github被干扰的力度很大 国内大概率是加载不出来照片的

Backblaze B2的配置

名字是整个B2来说全局唯一的 你可以起的长一点

目标是公众  面向外界开放

第三项是默认加密 我认为可以不启用

对象锁 限制你频繁修改统一文件 也可以不启用

EndPoint在之后的 Picgo配置会用到 你可以先记一下

然后点击上载/下载 上传一张图片 点击图片详情


主要是记一下友好URL 之后我们会把它用我们自己的二级域名给替换掉

CloudFlare配置

首先需要讲一下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都承担了 所以基本是不需要花费的

2条评论

  1. github 不是有私有仓库吗?在网站上公开和github公开有什么区别呢?还有一个问题,CF一定要设置二级域名吗?

    1. 私有仓库也可以,但是本质和这篇文章是一样的,需要用token然后找中间商做转换;
      爬取难度的问题,如果我是公开仓库因为地址是公开的,那么它一次性就可以把我图床里所有图片爬完了,包括我没用在网站上的图片,我放在网站上的图片自然是愿意你爬的,但你没办法知道我图床里其他图片是什么;
      看情况,不是一定的这里用二级域名实际是为了隐藏根服务器,B2的桶浏览是需要花费流量的,所以才会用cloudflare代理一遍,来抵消流量的消耗,如果它直接获取了我的根服务器那就直接从B2上消耗流量了,在免费额度内还好,超了就亏了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注