CloudFlare R2 搭建个人图床教程

本文探讨了为何选择CloudFlareR2作为自建图床解决方案,强调了其免费额度、无需备案、易于设置的优点,以及与国内厂商如七牛云、腾讯云和阿里云的对比。作者提供了详细的步骤,包括创建R2存储桶、绑定域名和使用PicGo工具上传图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么搭建自己的图床

  • 平时写博客都是使用 md 格式,要在多个平台发布时,图片需要有外链
  • 后续如果博客迁移时,国内的博客网站,比如掘金,简书,语雀等都做了防盗链,图片不好迁移

为什么是CloudFlare R2

  • 有白嫖额度

  • 免费 CDN

  • 绑定域名不需要备案

image-20230329134100207

永久免费 超出部分/月费
存储 10 GB/月 0.015 美元/GB
A 类操作 100 万次/月 4.50 美元/百万次
B 类操作 1000 万次/月 0.36 美元/百万次

免费额度足矣支撑个人博客使用,即使超出之后,费用也是相当便宜

详细定价 Pricing · Cloudflare R2 docs

为什么不是国内厂商

七牛云

  • 有免费额度,但需要绑定国内已经备案的域名。但我不想备案,手续啰嗦,以后每年还要审核

腾讯云

  • 没有免费额度,不符合白嫖教义

  • 计费项目太多,看不懂

image-20230329135741344

阿里云

  • 没有免费额度

### 使用 Cloudflare 搭建 #### 准备工作 为了使用 Cloudflare 搭建,需要拥有一个域名并将其 DNS 解析托管给 Cloudflare。完成此操作后,在 Cloudflare 控制面板内启用 SSL/TLS 加密功能以确保片加载的安全性[^1]。 #### 创建存储桶 选择 Amazon S3 或其他支持 CORS 的对象存储服务作为实际存放片文件的地方。创建一个新的存储桶,并设置公共读取权限以便于通过 URL 访问上传的像资源[^2]。 #### 配置 Workers 脚本 利用 Cloudflare 提供的边缘计算平台——Workers 来编写简单的 JavaScript 代码处理 HTTP 请求并将请求转发到指定的对象存储位置。下面是一个基本的例子: ```javascript addEventListener('fetch', event => { let url = new URL(event.request.url); // 修改为自己的S3 bucket地址 const s3Url = 'https://your-s3-bucket-url'; if (url.pathname.startsWith('/img/')) { let path = url.pathname.replace(/^\/img\//, ''); return event.respondWith( fetch(`${s3Url}/${path}`, { cf: { cacheEverything: true } }) ); } }) ``` 这段脚本会拦截所有 `/img/*` 形式的路径访问,并将这些请求重定向至设定好的 S3 存储桶中对应的文件夹下查找相应片[^3]。 #### 设置缓存策略 为了让用户的浏览器能够更高效地缓存静态资源,在 Worker 中可以自定义响应头来控制缓存行为。比如上面例子中的 `{ cf: { cacheEverything: true } }` 就是用来指示 Cloudflare 对该类请求开启全局 CDN 缓存优化[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值