作为互联网基础设施的赛博菩萨 CloudFlare 大家应该都不会陌生,CloudFlare 提供了非常多好用的功能,而且很多服务甚至都是免费的。我自己刚搭建了一个博客,正好可以使用CloudFlare R2 作为图床存放图片。
Table of contents
Open Table of contents
为什么选择 CloudFlare R2 ?
简单说说原因,CloudFlare R2 提供每个月 10GB 的免费额度,这对于初期没啥流量的个人博客来说是绝对够用。其次,超出额度外的付费部分都很便宜。CloudFlare 也做的非常成熟了,许多厂商也都在用他家的服务。选择好合适的区域,速度上也很快。
如何操作?
还没有 CloudFlare 账号的话可以去 CloudFlare 官网 注册一个新账号,然后登录找到「R2 Object Storage」,第一次使用需要绑定一下 PayPal 或者自己的信用卡,绑定只是为了验证用户身份并不会扣费,绑定成功后就可以开通 R2 服务。
点击「Create bucket」创建Bucket,Bucket翻译过来就是「桶」的概念,可以类比操作系统中的目录,里面可以存放各种图片、视频、文件等。
创建完 Bucket 之后,点到Settings ,输入”allow” 设置 URL 允许公网访问。操作完成之后,就可以直接上传图片到 R2 上,并可以正常访问。
PicGo上传图片
现在每次上传图片都要在 R2 页面上操作,有点不方便。可以使用可视化客户端 PicGo ,来解决这个问题。
在 GitHub 上去下载安装包:https://github.com/Molunerfinn/PicGo
安装好 PicGo 后,在插件设置里搜索「S3」并安装插件。
回到 Cloudflare 网站 R2 设置,点击「Manage R2 API Tokens」
创建 API Token,Permissions 这里根据自己的需要去选择,只有有了 API Token,才能通过 API 上传图片。
创建 token 成功后将页面上的Access Key ID、Secret Access Key、S3 endpoint 值记录一下,关闭页面后就看不到这几个值了。
打开PicGo 的图床设置,设置 Amazon S3 的参数
- 应用密钥 ID:Access Key ID
- 应用密钥:Secret Access Key
- 桶名:前面创建的 Bucket Name
- 文件路径:保持默认
- 地区:保持默认
- 自定义节点:S3 endpoint
- 代理:保持默认
- 自定义域名:Setting 下「R2.dev subdomain」的值
- ForcePathStyle:保持默认
- 拒绝无效 TLS 证书连接:保持默认
- ACL 访问控制列表:保持默认
- Bucket 前缀:保持默认
注意:自定义节点和自定义域名都是纯域名没有带任何路径的,如果想在 bucket 下使用目录来区分文件类型,则可以通过添加后缀实现。例如在自定义节点和自定义域名后面加上 /images,图片都会上传到 images 目录下,图片的公网连接格式是 https://{R2-domain}/images/2024/11/eb76f7d9e2f83c3f3837d85826a64fc1.png
这样就能够直接拖拽图片到 PicGo 来上传图片到R2了,然后Command + V 快捷键就轻松得到 Markdown 格式的图片链接。
总结
以上就是使用 CloudFlare R2 搭建图床的过程,博客里的图片可以通过PicGo 上传,将得到的图片链接插入到 MD 文章当中,整个使用体验上非常丝滑。