Backblaze + Cloudflare + Picgo 打造免费顺畅的图床体验

news2024/9/30 19:43:12

本文xlog地址:https://x.cosine.ren/backblaze-cloudflare-picgo-imgbed
hexo 地址:https://ysx.cosine.ren/backblaze-cloudflare-picgo-imgbed
同步发布

最近有用到oss存储的需求,跟群友调研了下国内 & 国外的 oss 后,深感找个合适的oss不容易,国内的有阿里云OSS、七牛云、腾讯云,国外的有 Backblaze、Cloudflare R2等,经过激烈讨论后我决定使用 Backblaze + Cloudflare,这个决定其实并不难,因为 Backblaze 提供的云存储服务价格非常低,而且稳定性和快速性也非常不错。同时,Backblaze 和 Cloudflare 之间的数据传输是免费的。

原因及介绍

Backblaze 提供的云存储服务价格低廉,而 Cloudflare 则可以提供稳定且快速的 CDN 服务,两者之间的数据传输也是免费的,使用 Picgo 结合 s3插件 则可以轻松解决图片上传到 Backblaze 的问题。

Backblaze 简介

Backblaze 是一个提供云存储服务的公司,它的B2 Cloud Storage 产品可以让你以极低的价格存储大量的数据。B2 Cloud Storage 的存储费用只有0.005美元/GB/月,下载费用只有 0.01美元/GB。而且,如果你使用Cloudflare 的CDN服务,那么下载费用就是免费的,这是因为Backblaze 和Cloudflare 是Bandwidth Alliance 的成员,他们之间没有数据传输费用。这样一来,你就可以用很少的钱拥有一个高性能的云存储空间。

优点:免费、稳定、收费额度的价格也很低廉

  • 免费额度足够大量,付费价格足够低廉:每月有 10GB 的 免费额度,每日有 1GB 的免费下载流量,作为个人图床来说完全够用!并且超过的收费部分每GB也只需0.005美元
  • 结合 Cloudflare 下载费用免费:因为 Backblaze 和 Cloudflare 都是 Bandwidth Alliance的成员,他们之间的数据传输是免费的
  • 丰富的 API:Backblaze 提供了丰富的 API,可以方便地集成到自己的应用程序中,提高开发效率和便捷性。
  • 支持多种上传方式:除了 Picgo 外,Backblaze 还支持多种上传方式,如官方提供的 web 界面、CLI 工具、第三方客户端等。
  • 不限制文件类型:相比于一些图床服务只能存储图片类型的文件,Backblaze 没有文件类型的限制,用户可以存储各种类型的文件,如视频、文档、音频等。(甚至有人拿来当云盘

缺点:国内速度不好说、学习成本高、风险分散不均

  • 国内网络环境对于国外云存储服务的访问速度有限制,可能导致上传和下载速度较慢。
  • API 调用次数限制:但是绑了卡就没限制
  • 学习成本高:使用这个组合需要手动配置多个服务,存在一定的学习成本。
  • 风险分散不均:由于数据存储和 CDN 服务分别由 Backblaze 和 Cloudflare 提供,因此存在一定的风险分散不均的情况,比如某个服务出现问题时可能会影响整个图床的正常使用。

当然这些对于这个冲浪选手来说是完全够用了~

Cloudflare 简介

Cloudflare 是一个提供全球CDN和安全服务的公司,它可以让你的网站更快、更安全、更智能。Cloudflare 有一个免费套餐,可以让你享受无限制的流量和请求,以及很多高级功能,比如SSL证书、防火墙、页面规则、转换规则等。通过 Cloudflare ,你可以将你的 Backblaze B2 存储桶绑定到你自己的域名上,还可以设置规则来隐藏桶名、Remove Headers等,比如 files.example.com ,这样你就可以用自己的域名访问你的图片,而不是Backblaze B2 的默认域名。Cloudflare 还可以为你的图片提供缓存和优化,提高图片的加载速度和质量。

Picgo 简介

Picgo 是一个开源的图片上传工具,它可以让你方便地将图片上传到各种图床服务,包括Backblaze B2(有s3插件支持)。Picgo 支持Windows、MacOS 和Linux 系统,它有一个简洁的界面和丰富的插件。你可以通过快捷键、拖拽、剪贴板等方式上传图片,也可以对图片进行压缩、裁剪、水印等处理。Picgo 还可以自动生成图片的URL和Markdown 代码,方便你在网上引用图片。

前提

需要以下几样东西:

  • 一个 Backblaze 账户(邮箱注册)
  • 一个 Cloudflare 账户(邮箱注册)
  • 一个自己的域名(我用的是阿里云的域名,很早就买了的)
  • Picgo 客户端

如果你还没有这些东西,请先去注册/下载/整一个~

关于详细的配置步骤,下面这两篇博文是我认为比较好并且详细的,完全可以顺着走下去:

  • 使用 Cloudflare + Backblaze B2+PicGo的搭建免费图床
  • 使用PicGo+CF(Cloudflare)+B2(Backblaze)作为博客图床

只不过由于更新等,接下来我主要会说一下我遇到的几个坑点或者原文没有讲的很清楚的地方~

AliYun 域名控制台更换 DNS 服务到 Cloudflare

转移后就是在 Cloudflare - DNS - Records 进行管理了~

更改DNS服务器需要耗费一些时间,更改成功后,阿里云域名控制台会显示如下

image.png

需要注意的是导入域名到Cloudflare的时候我似乎丢失了几条域名解析,记得导入完后检查一遍,比如我的vercel相关解析貌似有一些没导入成功,最后手动配置解析了一下,如果你也有需求,记得导入后检查一下自己域名的解析记录~

image.png

Cloudflare 配置 Transform Rules 重写 URL

根据 使用 Cloudflare + Backblaze B2+PicGo的搭建免费图床 这篇文章提到的重写 URL 路径,在我配置的时候不能直接像文中那样 Edit expression 就可以了,而是需要这么玩儿:

image.png

  • (http.request.uri.path ne "/file/{bucketName}" and http.host eq "{your custom domain}")

  • Path 重写为concat("/file/{bucketName}",http.request.uri.path)

这里的配置实现了 example.com/xxx.jpg -> example.com/file/{bucketName}/xxx.jpg 的转换,既不会暴露自己的桶名称,还缩短了URL~

在 Picgo 中配置 Backblaze 上传

按照博文中 配置S3插件 这一步,我在这里的配置死活不对,直到我查到了这篇文章:Getting Started with the S3 Compatible API – Backblaze Help

image.png

这下一切就很晴朗了,Endpoint就填入自定义节点,地区则是自己的 S3 Endpoint 的第二部分,如图中的 Endpoint 的地区就是 us-west-001

然后需要将 PathStyleAccess 打开,而下面的 public-read 不用动

image.png

配置成功~ 撒花~~

对了,使用 obsidian 写这篇文章的时候,图床就是使用 Image Auto Upload Plugin 这个插件结合 Picgo,体感十分丝滑

image.png

image.png

如果是mac用户,推荐使用 DropShare,直接支持 Backblaze!

以上就是我踩的一些坑以及解决方案啦,希望能帮到同样有需求的人~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大爽pygame入门教程 第一节 基础知识

作者自我介绍:大爽歌, b站小UP主 ,编程1对1辅导老师 本节掌握要点: 文本, 图形, 键鼠事件,动态展示。 一、实现基础窗口 0 - 新建文件 新建001.py文件,内容如下 import pygamepygame.init() # pygame 初始化&#x…

什么是远程桌面连接?如何操作远程桌面?

随着时代越来越信息化、智能化、自动化,越来越多的企业和个人开始使用远程办公软件进行办公。其中远程桌面连接是一种非常流行的办公方式。那么,什么是远程桌面连接?如何操作远程桌面? 一、什么是远程桌面连接? 远程桌面连接是一种远程访问计算机的…

nginx缓冲区关闭导致下载失败问题-方案篇

问题描述 导出操作。小于200k的excel正常下载,大于200K的下载失败,异常信息如下: Cannot forward to error page for request [/xx/xx] as the response has already been committed. As a result,the response may have the wrong status code. If you…

程序员工作久了,都不会好好说人话了...互联网人的....黑话

原来工作也是会被腌入味的 前段时间有位博主吐槽 工作太久都不会说人话了 这张口的互联网味儿 瞬间梦回自己的工位 而评论区的网友们表示 这不就是”世另我“吗 一场关于互联网黑话的"掰头" 就此开始了... 维护厨房 (厨房秒变公司) 新…

Bagging算法预测银行客户流失率

Bagging算法预测银行客户流失率 描述 为了防止银行的客户流失,通过数据分析,识别并可视化哪些因素导致了客户流失,并通过建立一个预测模型,识别客户是否会流失,流失的概率有多大。以便银行的客户服务部门更加有针对性…

【CSS】使用 CSS 实现三角形 ( 宽高设置为 0 | 设置四个边框宽度 / 样式 / 颜色值 | 兼容低版本浏览器 | 基本示例 | 对话框示例 )

文章目录一、使用 CSS 实现三角形二、使用 CSS 实现三角形代码示例三、使用 CSS 实现 对话框 代码示例一、使用 CSS 实现三角形 使用 CSS 实现三角形步骤 : 首先 , 宽度 / 高度 设置为 0 ; /* 宽高设置为 0 像素 */width: 0;height: 0;然后 , 设置 4 个边框 , 每个边框都要设置…

【软考备战·希赛网每日一练】2023年4月14日

文章目录一、今日成绩二、错题总结第一题第二题第三题第四题三、知识查缺题目及解析来源:2023年04月14日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 具有 最优子结构 特点的问题可以使用 动态规划法 进行求解。计算m数组中每项的值&am…

日撸 Java 三百行day28-30

文章目录说明day28-30 Huffman 编码 (节点定义与文件读取)1.建树过程(以图为例)2.哈夫曼树特点3.分析代码过程3.1 抽象成员变量3.2结合文章梳理思路1.读文本2.解析文本内容:3.建树4.生成哈夫曼编码5.编码6.解码4.其他4.1 java 类型强转4.2 ja…

网络安全相关的知识

一、 什么是IDS? IDS是英文"Intrusion Detection Systems"的缩写,中文意思是"入侵检测系统"。专业上讲就是依照一定的安全策略,通过软、硬件,对网络、系统的运行状况进行监视,尽可能发现各种攻击…

TexMaker(Latex编辑器)软件的“文献引用”操作:Xelatex方式运行的操作方法

一、说明 1. 针对问题 本文主要讲解使用TexMaker进行**.bib的方法**的文献引用时,如何使用Xelatexpdf的方式完成文献引用。某些文章强调使用PDFlatex进行编译,但有时候会因为论文模板不同,无法运行padflatexPDF。所以,这里给出xe…

常用模块和模板引擎

私人博客 许小墨のBlog —— 菜鸡博客直通车 系列文章完整版,配图更多,CSDN博文图片需要手动上传,因此文章配图较少,看不懂的可以去菜鸡博客参考一下配图! 系列文章目录 前端系列文章——传送门 后端系列文章——传送…

Android---导致OOM的常见原因

目录 内存溢出OOM 单应用可用的最大内存 导致 OOM 的常见原因 内存实时监控 内存溢出OOM 单应用可用的最大内存 dalvik.vm.heapstartsize,它表示堆分配的初始大小。 dalvik.vm.heapgrowthlimit,它表示单个进程内存限定值。 dalvik.vm.heapsize&#…

LeetCode每日一题 1023. 驼峰式匹配 --双指针

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

Vue UI组件库(Element UI库)

1 移动端常用 UI 组件库 1. Vant Vant 4 - 轻量、可定制的移动端组件库 (vant-ui.github.io) 2. Cube UI cube-ui Document (didi.github.io) 3. Mint UI Mint UI (mint-ui.github.io) 2.PC 端常用 UI 组件库 1.Element UI Element - 网站快速成型工具 2.IView UI iView / Vi…

SpringBoot集成WebSocket实现及时通讯聊天功能!!!

1&#xff1a;在SpringBoot的pom.xml文件里添加依赖: <!-- websocket --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 2&#xff1a;在配置中…

C++简单工厂模式

目录 什么是简单工厂模式 简单工厂模式的实现 总结 什么是简单工厂模式 简单工厂模式是一种创建型设计模式&#xff0c;它提供了一种创建对象的最佳方式。在软件开发中&#xff0c;我们经常需要创建各种各样的对象&#xff0c;但是直接使用 new 关键字来创建对象会使代码变得…

Node http模块

文章目录Node http模块概述创建http服务获取请求报文练习搭建http服务url模块解析url操作url设置响应报文练习搭建网页Node http模块 概述 http模块提供了创建 HTTP 服务器和客户端的功能。 创建http服务 // 导入http模块 const http require("http");// 创建服…

React | React的JSX语法

✨ 个人主页&#xff1a;CoderHing &#x1f5a5;️ Node.js专栏&#xff1a;Node.js 初级知识 &#x1f64b;‍♂️ 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; &#x1f4ab; 系列专栏&#xff1a;吊打面试官系列 16天学会Vue 11天学会React Node专栏 &#…

商医通项目总结

一、项目概述 简介 尚医通即为网上预约挂号系统&#xff0c;网上预约挂号是近年开展的一项便民就医服务&#xff0c;旨在缓解看病难、挂号难的就医难题。网上预约挂号全面提供的预约挂号业务从根本上解决了这一就医难题。随时随地轻松挂号&#xff0c;不用排长队 微服务项目…

【数据结构】-归并排序你真正学会了吗??

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee&#xff1a;gitee 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录前言一、递归版本二、非递归版本三、总结前言 今天我们再来将一个…