Cloudflare R2对象存储当图床测试

  1. 1. Cloudflare R2简介
  2. 2. 如何开启R2
  3. 3. 简单但有效的防刷
    1. 3.1. 第一步,浏览器、边缘缓存TTL
    2. 3.2. 第二步,防盗链

老早之前就看到了Cloudflare的R2存储,当时还是Beta版本。
今天突然给我打广告,大呼改变未来的存储方式,那好,嫖来放点图试试。

秋姐妹 PID 101105561

Cloudflare R2简介

流量免费,存、取等操作付费,容量付费。
免费额度及超出部分的计费方式如下:

名称 免费额度 计费套餐
存储 10GB $0.015/GB/月
A类操作 一百万次/月 $4.50/百万次
B类操作 一千万次/月 $0.36/千万次

A类操作包括:
HeadBucket, HeadObject, GetObject, UsageSummary, GetBucketEncryption, GetBucketLocation, GetBucketCors, GetBucketLifecycleConfiguration.
B类操作包括:
DeleteObject, DeleteBucket, AbortMultipartUpload.
相信各位能看懂是什么东西。

理论上当图床不会耗完,被刷了另说。

如何开启R2

要信用卡,虚拟的也行。
剩下的自己想办法。
最后套个域名。

简单但有效的防刷

以本站img.ver.moe为例。

第一步,浏览器、边缘缓存TTL

浏览器缓存TTL的意思就是,浏览器访问过一次后,就把文件缓存到本地。
接下来一定时间内,浏览器访问这个文件都直接调用缓存。

边缘缓存TTL的意思就是,当你访问过一次后,与你直接相连的CDN节点会缓存一份文件。
接下来一定时间内,通过这个节点访问这个文件都直接调用缓存。

TTL就是缓存有效期,过期后要重新缓存。

域名页面->规则->页面规则

  • URL 填 img.ver.moe/*
  • 添加设置:缓存级别缓存所有内容
  • 添加设置:浏览器缓存 TTL几个小时自己选,我选8小时
  • 添加设置:边缘缓存 TTL一个月,图片都传了哪要改什么

保存。此时如果有人打你,理论上图片都是CDN缓存给的,不会走到R2对象存储。

R2图床缓存策略

第二步,防盗链

防盗链的意思就是,只能通过你的域名,访问你的资源域名。
比如我只允许从我博客blog.ver.moe访问我的图床img.ver.moe

这一步其实对防故意刷请求没什么用,但是可以防止别人般你文章时,把图片链接直接搬过去。
这样你的图床就可以不用承担别人网站的访问了,但是盗文章还是可以一样的盗
不过真的有人会盯上我这破网站吗?

前往 安全性->WAF,创建规则

R2防盗链规则

如图设置。
其实这个设置防君子不防小人,毕竟referer可以伪造。

现在这个页面上的图都只能从这个本页面看到,在新标签页访问就会被blocked。

再放一遍,以防有视障人士没看见