兰空图床使用backblaze作为存储策略
起因
因为我很久之前就在使用兰空了,当时是直接默认存储扔到本地的,反正也没有啥问题,还很方便,但那台服务器快到期了。所以我就打算迁移,先来说说虽然为什么不用CF的R2存储,原因是我尝试了很多种办法,但这个兰空图床对于我自己而言就是链接不上,很烦人,所以找到了也是S3协议的backblaze
作为我后面使用的存储策略。
为什么要使用 backblaze
有以下几点
- 所有用户无需信用卡都有10gb存储
- 从
CloudFlare
出去的流量每个月免费1TB - 价格十分便宜,你可以去他们的官网了解更多:官网地址价格
开始准备前
在开始之前你需要知道和准备的东西:
- 兰空图床的版本确保是和我在同一个版本在V2.1
- 有一个
Cloud Flare
的账号 - 有一个
backblaze
的账号 - 你需要有一个域名(应该看到这一篇博文的人都有吧)
- 在后面的内容
CloudFlare
将被简写成CF - 在后面的内容
backblaze
将被简写成B2
正片开始
B2创建存储桶
请访问:https://secure.backblaze.com/b2_buckets.htm 进入B2创建页面。再此页面往下翻,可以更改语言。
起一个你的桶的名字,你需要把桶的档案改成公众
。
很好你现在应该已经创建好桶了并选择上传/下载
你需要上传一个文件用作与测试,知道你的桶的地址。
你需要记得友好地址
以及S3
地址
- 友好地址你需要记住到你的桶名
- S3 地址你只需要记住S3的域名即可。
CF的配置
B2只允许https,并且需要有效证书的验证,你需要检查以下你的CF上的 SSL/TLS –> 概述调成完全严格
你现在需要解析一个CNAME
的域名,例如img.example.com,解析到友好URL的域名上,如果你解析成功你可以试着访问你的域名并带上桶名/以及文件名进行访问。
到这里你应该也许已经明白我们需要后面要配置什么了,我们需要使用CF的 规则–>转换规则—>URi 重写。
我这边提供一下表达式,需要把<>
的内容替换成你自己的包括<>
1 | (http.request.uri.path ne "/file/<桶名>" and http.host eq "<你的域名>") |
这里提供一些Dynamic的表达式写法
1 | concat("/file/<你的桶名>",http.request.uri.path) |
经过这样一改,你可以现在尝试以下,不加任何东西直接使用域名+上文件名再试试。
兰空图床更改策略
你可以参考这一篇官方的 discussions 进行改写,我就不再重复造轮子了。
我在这边贴一张我自己配置的图,方便各位佬进行参考。
- 存储策略选择Minio
- 区域根据S3的URL 域名中就有写。
引用
兰空Github Discussions:https://github.com/lsky-org/lsky-pro/discussions/448
致谢
感谢 惯惯站长 发现本篇文章的错误。(已经修改)