开通R2需要信用卡认证。
定价 ·Cloudflare R2 文档
R2 定价
自由 | 付费 – 费率 | |
---|---|---|
存储 | 10 GB / 月 | $0.015 / GB 月 |
A 类操作 | 100 万个请求/月 | $4.50 / 百万请求 |
B 类操作 | 1000 万个请求/月 | $0.36 / 百万个请求 |
官方文档可以非常直观的看到每月的免费额度和付费费用,可以看到其实我们每月是有10g免费存储的。而A类表示上传和修改有免费100万请求,B类表示读取也就是访问有免费1000万的请求。
对接开始
1.创建对象存储
起一个喜欢的名称
2.开启Cloudflare R2 的公开访问权限
3.创建R2 api秘钥
回到R2主页点击,管理R2 api令牌进行创建
选择编辑权限,因为我们图床需要修改和删除
创建完成后会得到以下信息,这个页面先别关闭我们需要用到它
4.兰空S3对象存储对接
看图我就懒得bb了
* 访问域名:如上图,此域名可以自己解析公开访问里的域名,也可以在域访问哪里添加绑定。
URL 额外参数:可不写
* AccessKeyId:R2 访问密钥ID
* SecretAccessKey:R2 机密访问密钥
* 连接地址区域(region):us-east-1
* 储存桶名称:第二图创建的名称
最后
教程到这里就结束了,设置的时候可以开启.env里的APP_DEBUG=false改成APP_DEBUG=true,他可以让你查看报错,这样你就可以快速的定位问题,而不是只提示上传失败4个大字,我是按照我的方法重新复现了一次,并没有新建存储桶所以可能会有遗漏的地方,欢迎评论区指出谢谢!!!!
感兴趣可以观摩一下我的图床:pnglog.com
好像建了存储也上传不了图片,不知道什么原因,显示 错误信息如下:上传失败, Unable to write file at location: 2023/10/16/652d084e987d2.jpg. Error executing "PutObject" on "https://imagetest.8b39759934282328807344dbe2b35ecf.r2.cloudflarestorage.com/2023/10/16/652d084e987d2.jpg"; AWS HTTP error: cURL error 77: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: /etc/ssl/certs (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://imagetest.8b39759934282328807344dbe2b35ecf.r2.cloudflarestorage.com/2023/10/16/652d084e987d2.jpg