Files
Cloud-Index/docs/storage/r2.md
RhenCloud 22b2339d3c feat: 更新文档并添加 OneDrive 支持
- 在 overview.md 中添加 OneDrive 到存储后端对比
- 更新导航栏和 plume.config 以包含 OneDrive 链接
- 创建详细的 OneDrive 配置指南
- 从 GitHub 和 S3 文档中删除冗余章节
- 将 .env 和缓存目录添加到 .gitignore
2025-11-15 19:37:35 +08:00

3.9 KiB
Raw Blame History

title, createTime, permalink
title createTime permalink
Cloudflare R2 2025/11/09 00:26:55 /storage/r2

Cloudflare R2 配置指南

详细的 Cloudflare R2 配置步骤和最佳实践。

概述

Cloudflare R2 是一个 S3 兼容的对象存储服务,具有以下优势:

  • 💚 存储流量完全免费
  • 🌍 全球 CDN 加速
  • 💰 请求费用低(每 100 万次 $0.36
  • 高性能和高可靠性
  • 🔄 S3 API 完全兼容

账户设置

1. 创建 Cloudflare 账户

访问 Cloudflare 官网 创建免费账户。

2. 激活 R2

  1. 登录 Cloudflare 控制面板
  2. 左侧菜单选择 "R2"
  3. 点击 "开始使用 R2"
  4. 阅读条款并确认

创建存储桶

1. 创建新桶

  1. 进入 R2 → "存储桶"
  2. 点击 "创建存储桶"
  3. 输入存储桶名称(例如 my-storage
    • 名称必须全局唯一
    • 只能包含小写字母、数字和连字符
  4. 选择区域(通常选择 "自动" APAC
  5. 点击 "创建存储桶"

2. 存储桶设置

进入存储桶 → "设置"

  • CORS: 启用 CORS 以支持跨域请求
  • 生命周期规则: 可选,用于自动删除过期文件
  • 版本控制: 保持禁用(不需要版本历史)

获取 API 凭证

1. 创建 API Token

  1. 进入 R2 → "API 令牌"
  2. 点击 "创建 API 令牌"
  3. 选择 "Edit" 权限(允许读写)
  4. 配置 TTL可选默认无限期
  5. 复制 Token IDToken Secret
  6. 点击 "创建 API 令牌"

权限说明:

  • 读取: 仅允许列表和下载
  • 编辑: 允许读、写和删除(推荐)
  • 删除: 包含删除和管理员操作

2. 记录账户 ID

在 R2 仪表盘的任何存储桶页面可以看到 Account ID(例如 a1b2c3d4e5f6g7h8i

保存以下信息:

ACCESS_KEY_ID = your_token_id
SECRET_ACCESS_KEY = your_token_secret
R2_ACCOUNT_ID = your_account_id
R2_BUCKET_NAME = your-bucket-name

配置环境变量

编辑 .env 文件:

# 存储类型
STORAGE_TYPE=r2

# API 凭证
ACCESS_KEY_ID=your_token_id
SECRET_ACCESS_KEY=your_token_secret

# R2 配置
R2_ENDPOINT_URL=https://your_account_id.r2.cloudflarestorage.com
R2_BUCKET_NAME=your-bucket-name
R2_REGION=auto

# 可选:公开访问配置
R2_PUBLIC_URL=https://pub-your-bucket-name.r2.dev

# 可选:预签名 URL 过期时间(秒,默认 3600
R2_PRESIGN_EXPIRES=3600

配置公开访问(可选)

若要生成可分享的公开链接,需要配置公开 URL。

1. 启用公开访问

  1. 进入存储桶 → "设置"
  2. 找到 "Public access" 部分
  3. 点击 "Allow public access"

2. 配置自定义域(推荐)

方式 A使用 R2 默认 URL

R2_PUBLIC_URL=https://pub-your-bucket-name.r2.dev

方式 B使用自定义域

  1. 进入存储桶 → "设置" → "Custom domains"

  2. 点击 "Connect domain"

  3. 输入你的域名(例如 assets.example.com

  4. 在域名 DNS 设置中添加 CNAME 记录:

    assets.example.com CNAME your-bucket-name.r2.dev
    
  5. 点击 "Continue"

配置环境变量:

R2_PUBLIC_URL=https://assets.example.com

成本示例

假设月均使用情况:

指标 数值 费用
存储 10GB $0.15
请求 100K $0.036
流量 1TB $0
总计 - $0.186

极低成本!

获取帮助

下一步