关于互联网大善人 Cloudflare 的各种歌功颂德笔者就不多费口舌了,总之一句话:在墙内的各种云上需要花大价钱才能使用的服务,它都直接免费给、免费用!在 CDN 领域简直降维吊打局域网内的各种遥遥领先。
本文要介绍的是 Cloudflare 刚推出不久的一个新服务:R2。这是一款兼容 S3 API 的免费云存储服务,它允许用户在全球范围内的分布式网络上存储和检索数据。R2 以“零流量费用对象存储”为卖点,宣称是对象存储最便宜的选择。相比其他云存储服务,R2 在数据访问时不计算流量费用,仅根据存储总量和操作次数计费。你就说墙内哪家云厂商敢这么干吧!
另外 R2 的存储网络横跨 100 多个国家中的 275 个城市,利用 Cloudflare 庞大的内容交付网络(CDN)实现数据的全球分发和快速访问。同时还可以与 Cloudflare Workers 原生集成,允许用户轻松执行身份验证、路由请求,并在 Cloudflare 的边缘网络上部署边缘函数。
🦄 免费套餐
按照 CF 官网的介绍,每个 CF 账号都可以免费使用 R2 服务,当然免费是有些限制的,每月 10GB 以内存储免费,另带每月 100W 次 A 类操作和每月 1000W 次 B 类操作。A 类操作主要是写操作,B 类型主要就是读取操作,我们日常访问 R2 里面的内容就是 B 类,1000W 对于个人日常使用完全足够了,另外还可以配合 CF 的缓存,使用量会更少!
🦌 操作方法
使用 R2 的前提是你得先注册好 CF 账号(选择 Free 套餐就行),并且最好在 CF 上解析一个自己的域名。
1️⃣ 创建存储桶
在左边菜单中找到 R2,打开概述,点击右上角的创建存储桶
填写存储桶的名称,选择存储桶的位置(建议放在访问量最多的区域,比如你的用户在美丽国比较多,就选北美洲),默认存储类直接选标准就行。
2️⃣ 设置存储桶
创建完以后回到概述页面,打开刚刚创建好的桶,点击设置。
往下拉,找到公开访问板块,点击连接域,我们给这个桶套一个自己的域名。
输入你自己的二级域名,比如 imghub.yourdomain.com,点继续按钮。
等待片刻后,CF 就会自动在 DNS 的记录中增加一个类型为 R2 的解析记录,这是 CF 自己内部专属的,可以不用管他,总之现在就可以使用这个域名访问你在 R2 中存储的图片了。
3️⃣ 设置缓存
R2 每月有 1000W 免费读取次数,如果你不放心,可以再增加一层缓存,既可以减少回源读取次数,又能加速访问速度,一箭双雕!CF 每个域名支持免费设置 10 条缓存规则,一般来说都够用了,稍微使用点技巧也用不了几条。
在菜单中找到缓存,打开 Cache Rule,点击创建规则。
输入规则名称(随意),设置匹配规则,这里我们直接设置为主机名是你上文设置的那个域名即可。当然匹配规则还有很多其他的维度可以选,支持等于、包含、开头、结尾等运算符,按自己实际要走 CDN 的资源设置即可。
继续往下拉,在缓存资格中选择符合缓存条件;在边缘 TTL 种点击添加设置,然后选择忽略缓存控制标头,使用次 TTL,然后在输入生存时间(TTL)中选择一个时间,免费账号支持最短 2 小时、最长 1 年,最为图床的话建议越大越好,尽量减少回源,也就是减少 R2 存储桶的 B 类操作次数。
最后拉到页面最底部,点击部署,等待 30 秒即可生效,从此你的图床就是跑在 CDN 上面了。
4️⃣ 上传图片
笔者说搭建图床,当然指的是在 R2 中管理图片,但并不是说 R2 中只能存储图片,这个并没什么限制,希望不要误解。
现在图床搭建好了,该怎么传图片上去呢?文章开头提到,R2 是一个兼容 S3 的云存储服务,我们可以直接使用现有的支持 S3 的工具上传即可;当然,如果你不嫌麻烦,也可以直接在 R2 的存储桶界面上传。
使用 PicGO 上传
在存储桶的设置界面,查看桶所在的位置,比如亚太地区就是 APAC,记录下来后门会用到。
在账号 ID 下面有个管理 R2 API 令牌按钮,点击去,然后点击创建 API 令牌。
在创建页面输入令牌名称,权限选择对象读和写即可,其他的保持默认,最后确认创建。
然后就会在页面上显示这个令牌的相关信息,注意令牌值、访问密钥 ID 和机密访问密钥只会显示一次,关闭这个页面以后就看不到了,建议单独记录下来,并且不要把这些分享给其他人!
接着在 PicGO 的插件设置中搜索 S3,安装 S3 插件
插件安装完成后,开始配置了。分别填写应用密钥 ID、应用密钥、桶名、文件路径、自定义域名,其他的可以不填或者按自己实际情况填。设置完成后就可以正常上传图片了。
字段的对应关系如下表:
插件字段 | CF 字段或含义 |
---|---|
应用密钥 ID | 访问密钥 ID |
应用密钥 | 机密访问密钥 |
桶名 | R2 存储桶名称 |
文件路径 | 保持默认或自己定义 |
自定义域名 | 你的 R2 默认域名或上文设置的自定义域名 |
以上是使用 PicGO 上传图片到 R2 的简单介绍,如果你使用其他 S3 兼容的工具,基本都差不多,笔者也没接触过太多,就不再展开了,关于基于 R2 搭建图床的教程就介绍到这里。