4MF.NET
免费资源分享BLOG

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

众所周知CF R2提供了10GB了免费空间和每月一千万次的免费Class B操作。也就是说如果开一个存储桶,并且设置为公开的话,每个月被刷一千万次之后就开始收费,而且上不封顶,没有限制的方法。

为了这个存储桶能够被外界访问到但是同时不会一夜破产,可以使用免费套餐的CF Worker作为限制,它在一天100000次请求之后就会罢工。

如果创建一个CF Worker把私有桶映射为公开桶,那么就可以把每天的访问次数限制在10w次,然后每月限制为300w次。

export default {
  async fetch(request, env) {
    const path = decodeURIComponent(new URL(request.url).pathname.slice(1));

    if (!path) {
      return new Response("Not Found", { status: 404 });
    }

    try {
      const file = await env.OPCT.get(path);

      if (!file) {
        return new Response("Not Found", { status: 404 });
      }

      const headers = new Headers();
      headers.set('Content-Type', file.httpMetadata?.contentType || 'application/octet-stream');

      return new Response(file.body, { headers });
    } catch (error) {
      return new Response("Server Error", { status: 500 });
    }
  }
}

设置绑定那里把桶绑定到OPCT名称上就行
另外Worker的放置位置保持在默认就行,选择智能的话反而Worker全都运行在桶的地理位置

另外如果不是为了白嫖,那Backblaze B2的存储价格低一些。

赞(0)
需要随时拿走,欢迎转载:是免费.NET » 使用Cloudflare Worker的免费账户限制R2的支出

评论 抢沙发

登录

找回密码

注册