返回
查看: 18|回复: 0
创意设计

使用Cloudflare Worker的免费账户限制R2的支出

[复制链接]
yazou yazou 2026-8-31 11:46:48 18 阅读

2.38万

主题

0

回帖

2.48万

积分

超级版主

积分
24765

软件均为作者提供和网友推荐收集整理而来,仅供测试、学习和研究,不得用于商业或者非法用途,请在下载24小时内彻底删除,否则,一切后果请用户自负。


众所周知CF R2提供了10GB了免费空间和每月一千万次的免费Class B操作。也就是说如果开一个存储桶,并且设置为公开的话,每个月被刷一千万次之后就开始收费,而且上不封顶,没有限制的方法。
为了这个存储桶能够被外界访问到但是同时不会一夜破产,可以使用免费套餐的CF Worker作为限制,它在一天100000次请求之后就会罢工。
如果创建一个CF Worker把私有桶映射为公开桶,那么就可以把每天的访问次数限制在10w次,然后每月限制为300w次。
  1. export default {
  2.   async fetch(request, env) {
  3.     const path = decodeURIComponent(new URL(request.url).pathname.slice(1));
  4.     if (!path) {
  5.       return new Response("Not Found", { status: 404 });
  6.     }
  7.     try {
  8.       const file = await env.OPCT.get(path);
  9.       if (!file) {
  10.         return new Response("Not Found", { status: 404 });
  11.       }
  12.       const headers = new Headers();
  13.       headers.set('Content-Type', file.httpMetadata?.contentType || 'application/octet-stream');
  14.       return new Response(file.body, { headers });
  15.     } catch (error) {
  16.       return new Response("Server Error", { status: 500 });
  17.     }
  18.   }
  19. }
复制代码
设置绑定那里把桶绑定到OPCT名称上就行
另外Worker的放置位置保持在默认就行,选择智能的话反而Worker全都运行在桶的地理位置
另外如果不是为了白嫖,那Backblaze B2的存储价格低一些。
​

网盘链接失效请留言反馈!



回复

使用道具 举报

评论
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Loading...
扫码加入Q群
Archiver|小黑屋|yazou! 劰载中...

相关侵权、举报、投诉及建议等请到相关版块留言或发E-amil:yazou2026@gmail.com

yazou! 记录思考,也收藏生活!© 2025-2026

在本版发帖返回顶部