首先你要在CloudFlare设置好你的网站并进行DNS解析,具体细节不赘述。在CloudFlare的R2中创建一个存储桶,目前(2024-07-28)这个存储桶是免费的,基于这个功能可以作为一个比较稳定的长期图床功能来使用。
创建完成后,可以看到公共URL访问和域都是不允许的状态,但是这个时候是允许上传文件的。
默认情况下,存储桶永远不会公开访问,并且始终需要明确的用户权限才能启用。公共存储桶可以通过以下两种方式之一设置:
- 将存储桶公开为控制下的自定义域。
- 将存储桶公开为 Cloudflare 管理的子域
https://r2.dev
官方文档明确说到通过r2.dev
受到速率限制,并且仅应用于开发目的。也就是说不考虑使用r2.dev
访问存储桶,并且具体的速率限制规则官方并未明确给出。
那么考虑的第一种方法就是刚才说到的你在CloudFlare解析的域名,首先点击进入刚才创建的存储桶
进入设置页面,在公开访问下找到添加自定义域,填写你在CloudFlare解析的域名,个人建议是使用一级域名作为存储桶的访问域,例如我的网站是jntm6.eu.org
,我使用一级域名tuchuang.jntm6.eu.org
作为访问R2存储桶的链接,然后点击继续
点击连接域,CloudFlare会在你的域名下添加一条新的DNS记录,点击连接域之后,你就可以通过该域名访问到存储桶的内容
例如我现在有一张名为2024-04-02_18-56-47.webp的图片文件,访问情况检查,我们就可以通过https://tuchuang.jntm6.eu.org/2024-04-02_18-56-47.webp
这个链接进行访问
防盗规则设置
首先来到安全性下的WAF,点击创建规则
规则如下所示,按照图中提示内容填写既可,最后在在右下角点击保存并启用既可生效
规则生效后,此时只有你的域名jntm6.eu.org
才可以访问ccc.jntm6.eu.org
的内容,其他非法的请求都会被CloudFlare所屏蔽。注意!防盗规则仅能屏蔽链接到你存储对象的链接,并不能屏蔽浏览者通过正常访问网站并下载你的文件。
HotLink 保护
如果说你觉得R2存储桶太麻烦,并且你的图像资源是保存在你自己的服务器上的,又需要保护服务器的图像资源,你可以尝试打开HotLink保护。
HotLink能防止站外链接指向你的图像,但是不能保证你在第三方图床的图像资源,并且仅支持文件扩展名是gif
、ico
、jpg
、jpeg
、png
,不支持webp
。
例如你的域名是jntm.eu.org
,开启HotLink保护之后,在你服务器主机上的图像资源文件只允许你的域名使用,例如你有一个图片链接jntm.eu.org/1.png
,其他网站使用这个链接只能返回403错误。