抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

缘由

在某日,我突然发现博客里的视频加载速度很慢,由于我平时都是挂着 Clash,因此这也是偶然才发现。原因是 Cloudflare 不缓存视频。后来尝试了各种方法,最终选择了也是 Cloudflare 家的 R2 存储。

简介

R2 是 Cloudflare 自家的对象存储服务,和其他对象存储相比,R2 不计算流量,只计算访问,因此对于大文件和小文件来说,访问一次的消耗都是一样的。

R2 免费有每月 10G 存储,100 万次 A 类操作,1000 万次 B 类操作,对于个人用户来说完全足够了。

由于 R2 是国外的,因此域名不需要备份可以直接使用。而且文件的访问速度十分不错。

设置

R2 的申请按照官方的流程来就可以,在申请完成后,我们还可以进行一些设置。

存储桶设置

当我们创建一个存储桶之后,转到设置界面。

我们添加一个域名来访问这个桶。点击连接域添加域名(需要挂到 Cloudflare)。这时候 Cloudflare 应该会自动进行域名的校验。

然后我们配置跨域策略,根据需求即可,这里的设置表示所有来源均可访问。

其他设置根据需要自行设置即可。

缓存设置

我们来到网站设置,选择自己的域名。然后我们选择规则 - 页面规则。

红框部分需要设置,时长可以根据自己需要来定,其他的按需设置即可。

安全设置

然后我们转到安全性-WAF。

我们添加三个规则

第一个规则用于记录访问信息。

第二个规则用于防非法爬虫。(网络搜集的规则)

第三个规则用于放行合法爬虫。(网络搜集的规则)

以下是三条规则的代码:

  1. (http.host contains "your domain" and ip.geoip.country ne "CN")
  2. (cf.threat_score ge 5 and not cf.client.bot) or (not http.request.version in {"HTTP/1.2" "HTTP/2" "HTTP/3" "SPDY/3.1"}) or (not http.user_agent contains "Mozilla/")
  3. (cf.client.bot) or (http.user_agent contains "duckduckgo") or (http.user_agent contains "facebookexternalhit") or (http.user_agent contains "Feedfetcher-Google") or (http.user_agent contains "LinkedInBot") or (http.user_agent contains "Mediapartners-Google") or (http.user_agent contains "msnbot") or (http.user_agent contains "Slackbot") or (http.user_agent contains "TwitterBot") or (http.user_agent contains "ia_archive") or (http.user_agent contains "yahoo")

然后是三条规则的操作:

还有一条速度限制的规则。

表达式为(http.request.uri.path contains "/")

按照如图所示设置即可。

使用方法

我们可以通过存储桶页面的上传按钮来上传文件,也可以使用其他方法来上传(例如 alist,请自行研究)。

当我们要访问文件的时候,可以通过刚才链接的域名来访问,只要输入your domain/filename.suffix形式的链接即可。

更新日志

2024-01-30

  1. 更新基本内容。

评论