零成本搭建私人图床教程:CloudFlare R2 + PicGo 完整方案

零成本搭建私人图床教程:CloudFlare R2 + PicGo 完整方案 🚀

前言

图片托管服务在现代内容创作中扮演着重要角色。无论是技术博客、文档编写,还是在线教程制作,都离不开可靠的图片存储和分发系统。本教程将详细介绍如何利用 CloudFlare R2 的免费额度和开源工具 PicGo,搭建一个专业级的私人图床系统,让你的图片管理更加高效和经济。

优势亮点

  • 零成本:充分利用 CloudFlare R2 的免费额度

  • 高性能:依托 CloudFlare 全球 CDN 网络

  • 可靠性:企业级的存储服务保障

  • 易用性:PicGo 提供直观的图片管理界面

  • 扩展性:支持自定义域名和多种上传方式

技术选型说明

组件说明选择理由
CloudFlare R2对象存储服务免费额度慷慨、全球CDN加速、可靠性高
PicGo or Piclist图床管理工具开源免费、功能丰富、插件生态完善、跨平台支持

前置要求

  • 具备基本的命令行操作能力

  • 拥有信用卡用于 CloudFlare 账号验证(不会产生实际费用)

  • 能够访问 GitHub(用于下载 PicGo)

基础概念

什么是图床? 🖼️

图床是一种图片托管服务,可以将图片上传到服务器并生成外链,方便在各种平台引用。
主流的图床方案包括:

方案类型优点缺点
VPS自建完全可控、空间大需要维护服务器、迁移麻烦
云存储(oss)+CDN(需备案)稳定性高、访问快免费额度有限、大多需要付费
GitHub+CDN(JsDelivr)稳定可靠、免费速度一般
免费的图床储存网站免费定期对图片进行清理、会导致数据丢失

CloudFlare R2 简介 ☁️

CloudFlare R2 是一款对象存储服务,提供以下免费额度:

  • 存储空间:每月10GB免费存储额度

  • 操作次数:

    • Class A操作(读取/下载):每月100万次免费

    • Class B操作(写入/上传):每月1000万次免费

  • 出站流量:每月完全免费

PicGo工具介绍 🛠️

PicGo 是一款优秀的图床工具,支持:

  • 多种上传方式(拖拽、剪贴板、URL等)
  • 多种链接格式(Markdown、HTML、URL)
  • 拥有丰富的插件生态

实现流程

安全层
云服务
客户端
防盗链
访问控制
CORS策略
CDN
CloudFlare R2
自定义域名
PicGo
本地图片
图片压缩

搭建步骤

1. 准备工作 📝

需要准备:

  • GitHub 账号
  • CloudFlare 账号(需要信用卡验证)
  • PicGo 客户端

2. 配置 CloudFlare R2 💾

  1. 登录 CloudFlare 控制台

    在这里插入图片描述

  2. 开通 R2 服务

    需要绑定一种支付方式(不扣费,只是用来选择支付方式 —> 信用卡,推荐使用Paypal
    Paypal(我选择的是在Paypal官网绑定了一张目前不使用的建设银行卡)
    在这里插入图片描述

  3. 创建存储桶:

    存储桶名称: [自定义]
    区域: 自动(推荐)
    存储类型: 标准
    

    信用卡绑定成功后,左侧才会出现创建存储桶的选项
    在这里插入图片描述
    下方点击「创建存储桶」
    如果数据一般都是在国内访问的话,可以把桶放在亚太地区。
    在这里插入图片描述
    桶创建成功后,可以直接从本地拖拽上传,至此,你完全可以把它当成一个网盘使用!
    在这里插入图片描述
    上传一个图片测试一下
    在这里插入图片描述

  4. 自定义域名(两种方式)

  • 第一种方式(安全)
    • 点击设置在这里插入图片描述
    • 点击连接域 在这里插入图片描述
    • 输入自己的域名(需要认证)后,点击继续 在这里插入图片描述
    • 点击连接域
      在这里插入图片描述
  • 第二种方式(简单)
    • 点击允许访问 在这里插入图片描述
    • 输入allow后点击允许
      在这里插入图片描述
    • 之后就可以利用这个域名进行公网访问桶里的资源(不安全)
      在这里插入图片描述
      在这里插入图片描述

3. 获取 API 凭证 🔑

  1. 在 R2 控制台创建 API 令牌
    在这里插入图片描述
    输入令牌名称,「配置访问权限」这里可选择管理员读和写对象读和写 前者权限大,后者适用于特定的桶(推荐)
    在这里插入图片描述

  2. R2 Token 成功创建后,记录以下S3 API 相关信息:

    • Access Key ID
    • Secret Access Key
    • S3 API Endpoint
      在这里插入图片描述

4. 配置 PicGo🔧

  1. 安装 PicGo
    访问https://github.com/Molunerfinn/PicGo/releases
    在这里插入图片描述
    选择对应的版本进行安装

    在这里插入图片描述

  2. 安装 S3 插件(用来登录S3的图床)
    在这里插入图片描述
    推荐其余插件:
    compress-next:用来压缩图片至webp
    watermark:给图片打水印
    autoback:用来备份图床

    安装好后,里面就新增了amazon S3的图床设置
    在这里插入图片描述

  3. 配置存储参数:

    应用密钥 ID: [填写 R2 API 中的 Access Key ID(访问密钥 ID)]
    应用密钥: [填写 R2 API 中的Secret Access Key(机密访问密钥)]
    桶名: [填写 R2 中创建的 Bucket 名称,如我创建R2的桶的名字 image]
    上传文件路径: [上传到 R2 中的文件路径,可以选择使用 {fileName}保留原文件的文件名和扩展名]
    地区: [region可以填 auto]
    自定义节点: [填写 R2 API 中的「为 S3 客户端使用管辖权地特定的终结点」,即 xxx.r2.cloudflarestorage.com格式的 S3 Endpoint]
    拒绝无效TLS证书连接 :[yes开启,如果出现证书错误可以关闭]
    ACL访问控制列表:[public-read]
    ForcePathStyle:[no关闭,否则会在最终路径里面显示有桶名]https://pub-e4fad9439e6a49a187c01cd111d90960.r2.dev/{path}
    自定义输出URL模板: [填写 R2 公开访问端点「自定义域 或 R2.dev 子域」/{path},即 xxx..r2.dev格式的 公共访问 URL  例:https://pub-e4fad9439e6d90960.r2.dev/{path}]
    Bucket前缀:[no关闭]
    

    在这里插入图片描述
    在这里插入图片描述
    完成上述配置后,我们就可以在「上传区」直接拖入文件进行图片上传了,如上传后显示无误则为配置成功,生成的链接会自动在系统剪贴板中,直接在需要的地方粘贴即可。
    在这里插入图片描述

5. 优化配置 ⚙️

  1. 配置缓存规则
  2. 设置防盗链
  3. 配置自定义域名(可选)
  4. CORS 策略

Amazon S3 API 兼容性说明

Amazon Simple Storage Service (S3),是 Amazon 提供的对象存储服务,S3 API 支持使用 RESTful API 请求访问 Amazon S3,所以在业界使用非常广泛, CloudFlare R2 也完全兼容 Amazon S3 API,这意味着我们可以使用成熟的 S3 生态系统中的工具和库。以下是S3核心特性:

API 架构


{"协议": "RESTful HTTP","认证方式": "AWS Signature V4","数据格式": "XML/JSON","支持操作": ["对象管理(上传、下载、删除)","存储桶配置","访问控制","元数据管理"]}

主要优势

  1. 广泛兼容性

    • 支持主流的 S3 客户端工具

    • 可直接使用现有的 S3 SDK

    • 便于从其他 S3 兼容存储迁移

  2. 标准化接口

    • RESTful API 设计

    • 统一的认证机制

    • 标准的错误处理

  3. 生态系统支持

    • 丰富的第三方工具支持

    • 完善的开发者文档

    • 活跃的社区资源

S3 访问控制列表(ACL)配置说明

  1. private(私有访问)

    • 只有对象所有者可以读写该对象
    • 其他任何人都无法访问,包括匿名用户
    • 适用场景:存储私密文件、敏感数据等需要严格控制访问的内容
  2. public-read(公开读取)✨

    • 对象所有者拥有完整的读写权限
    • 任何人(包括匿名用户)都可以读取该对象
    • 适用场景:博客图片、公开文档、网站资源等需要公开访问的内容
  3. public-read-write(公开读写)

    • 对象所有者拥有完整的读写权限
    • 任何人都可以读取和写入该对象
    • 适用场景:需要让用户上传内容的公共存储空间
    • 注意:这是最开放的权限设置,使用时需要特别谨慎,因为它允许任何人修改你的文件
  4. authenticated-read(认证用户读取)

    • 对象所有者拥有完整的读写权限
    • 只有经过 AWS 认证的用户可以读取对象
    • 其他人无法访问
    • 适用场景:在多个 AWS 账号之间共享资源,但不想完全公开

对于 PicGo 的图床功能,通常建议使用 public-read,因为:

  1. 你需要图片能够被公开访问
  2. 但只允许你自己(所有者)修改或删除图片
  3. 这样可以保证图片在博客、文档等地方正常显示,同时保持基本的安全性

💡 安全提示:虽然文件是公开可读的,但通过精心设计的文件命名和目录结构,可以进一步提升资源访问的安全性。

Markdown集成

配合 Typora 等 Markdown 编辑器使用:

  1. 在Typora中设置PicGo为图片上传工具
  2. 复制粘贴图片自动上传并插入链接
  3. 支持图片预览和管理

总结 📝

通过 CloudFlare R2 + PicGo 的组合,我们成功搭建了一个现代化的图床系统。让我们回顾其核心优势:

✨ 完全免费的存储额度 + 🚀 无限制的 CDN 带宽 + 🛠️ 无需服务器维护成本 + 🔒 安全可靠

适用场景
  • 个人博主:管理博客图片资源

  • 技术文档:存储教程截图和示例

  • 开发团队:共享项目相关图片

  • 内容创作:管理创作素材库

参考资料 📚

  • 搭建免费高速图床 CLoudFlare R2 +PicGo方案-工程师焱记_picgo autoback 插件-CSDN博客
  • 【白嫖 Cloudflare】之免费图床搭建:PicGo + Cloudflare R2,手把手教_r2.dev-CSDN博客

希望这份教程能帮助你搭建属于自己的图床!如果遇到问题,欢迎在评论区讨论交流。 🤝

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Word2vec Skip-Gram 模型

图例 Skip-gram 模型,假设句子中的每个词都决定了相邻词的选取,所以你可以看到Skip-gram模型的输入是 W t W_{t} Wt​, 预测的输出是 W t W_t Wt​ 周边的词 也是说Skip-gram的目标是:给定一个中心词 W t W_t Wt​, 预测其上下…

【R语言】相关系数

一、cor()函数 cor()函数是R语言中用于计算相关系数的函数,相关系数用于衡量两个变量之间的线性关系强度和方向。 常见的相关系数有皮尔逊相关系数(Pearson correlation coefficient)、斯皮尔曼秩相关系数(Spearmans rank corre…

网络工程师 (32)TRUNK

一、定义 TRUNK,也称为端口汇聚、链路汇聚或多链路汇聚,是一种网络技术,其本质是将多个以太网端口绑定在一起作为一个逻辑链路来使用。通过TRUNK技术,用户在使用这个逻辑链路时,就好像是在使用一条独立的物理链路一样&…

“可通过HTTP获取远端WWW服务信息”漏洞修复

环境说明:①操作系统:windows server;②nginx:1.27.1。 1.漏洞说明 “可通过HTTP获取远端WWW服务信息”。 修复前,在“响应标头”能看到Server信息,如下图所示: 修复后,“响应标头…

编译和链接【三】

文章目录 编译和链接【三】前言系列文章入口编译过程词法分析语法分析语义分析生成中间代码汇编链接 编译和链接【三】 前言 在我大一的时候, 我使用VC6.0对C语言程序进行编译链接和运行 , 然后我接触了VS, Qt creator等众多IDE&#xff0c…

波导阵列天线学习笔记8 高增益、低轴比的3D打印Ka波段圆极化单脉冲天线阵列

摘要: 本文中, 一种3D打印的16x16圆极化单脉冲天线阵列在Ka波段研究,有着高增益和低轴比的特点。此单脉冲天线阵列有着四个低剖面的左旋圆极化子阵列和一个顺序旋转的和差网络。这四个子阵列正交连接着和差网络的输出,保证了传统2…

高通android WIFI debug

参考高通文档:80-76240-16_REV_AA_Wi-Fi_Debug_Techniques 大纲 一、 WLAN Debug Logs –logcat ■ Logcat log logcat is a command-line tool that dumps the log of system messages, ■ Including stack traces when the device throws an error. ■ Need t…

Pytest自动化测试框架总结

1、pytest简介 pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。 执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败能够支持简单的单元…

交叉编译工具链下载和使用

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

【SVN基础】

软件:ToritoiseSVN 代码版本回退:回退到上一个版本 问题:SVN版本已经提交了版本1和版本2,现在发现不需要版本2的内容,需要回退到版本1然后继续开发。 如图SVN版本已经提交到了107版本,那么本地仓库也已经…

作业:zuoye

1.闹钟&#xff08;错的&#xff09; #include "widget.h" #include "ui_widget.h" #include <QMessageBox>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);// 初始化定时器objTimer new QTimer(th…

一种非完全图下的TSP求解算法

序 旅行商问题(Traveling Salesman Problem,简称TSP)是组合优化中的一个经典问题,就是给定一组城市和城市之间的距离,找到一条最短路径使得每个城市只被访问一次后返回到起点。 一些传统的解法都是基于完全图的,我在网上也很少找到非完全图的解法,非完全图应该在实际应…

2025.2.11——一、[极客大挑战 2019]PHP wakeup绕过|备份文件|代码审计

题目来源&#xff1a;BUUCTF [极客大挑战 2019]PHP 目录 一、打开靶机&#xff0c;整理信息 二、解题思路 step 1&#xff1a;目录扫描、爆破 step 2&#xff1a;代码审计 1.index.php 2.class.php 3.flag.php step 3&#xff1a;绕过__wakeup重置 ​编辑 三、小结…

Word成功接入DeepSeek详细步骤

原理 原理是利用Word的VBA宏&#xff0c;写代码接入API。无需下载额外插件。 步骤一、注册硅基流动 硅基流动统一登录 注册这个是为了有一个api调用的api_key&#xff0c;有一些免费的额度可以使用。大概就是这个公司提供token&#xff0c;我们使用这个公司的模型调用deepsee…

STM32_USART通用同步/异步收发器

目录 背景 程序 STM32浮空输入的概念 1.基本概念 2. STM32浮空输入的特点 3. STM32浮空输入的应用场景 STM32推挽输出详解 1. 基本概念 2. 工作原理 3. 应用场景 使能外设时钟 TXE 和 TC的区别 USART_IT_TXE USART_IT_TC 使能串口外设 中断处理函数 背景 单片…

Kafka的消费消息是如何传递的?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka的消费消息是如何传递的&#xff1f;】面试题。希望对大家有帮助&#xff1b; Kafka的消费消息是如何传递的&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka 的消息传递机制是基于 发布-订阅 模型…

活动预告 | Power Hour: Copilot 引领商业应用的未来

课程介绍 智能化时代&#xff0c;商业应用如何实现突破&#xff1f;微软全球副总裁 Charles Lamanna 将为您深度解析&#xff0c;剖析其中关键因素。 在本次线上研讨会中&#xff0c;Charles Lamanna 将分享他在增强商业运营方面的独到见解与实战策略&#xff0c;深度解读商业…

IPD项目管理是什么?

IPD项目管理&#xff0c;即整合项目交付管理&#xff0c;是一种创新的管理方式、强调团队协作、优化设计和施工过程的方法。这种管理模式的核心是整合所有项目参与者的专业技能和知识&#xff0c;从项目初始阶段就开始共同合作&#xff0c;以实现项目目标。它特别强调所有参与者…

支付宝安全发全套解决方案

产品价值 ● 通过支付宝的资金能力&#xff0c;让服务商机构通过信息流驱动资金流&#xff0c;在不碰触客户企业资金的同时&#xff0c;为客户企业完成转账。账目清晰&#xff0c;无合规和资质风险。 ● 为服务商提供全链路的资金流动明细信息&#xff0c;服务商可以将这些信息…

关于FANUC机器人示教器型号的说明

关于FANUC机器人示教器型号的说明 如下图所示&#xff0c; 示教器的型号为&#xff1a;A05B-2255-C102#ESW&#xff0c; 如果需要对示教器进行更换或维修测试&#xff0c;只需保证前面8位的型号保持一致即可&#xff0c; 例如下图中的型号&#xff0c; 只需保证A05B-2255-x…