S3 完整配置 · Cloudflare R2

Cloudflare R2 详细配置

本指南帮助你在 Cloudflare R2 上创建 Bucket、API 令牌与 CORS,并完成虾传对接。

适用场景

  • 希望低 egress 费用的 S3 兼容存储。
  • 国际或自建 R2 与 ShrimpSend 国际版配合使用。

准备工作

  1. 登录 Cloudflare Dashboard
  2. R2 → Overview,开通 R2(按存储与 Class A/B 操作计费)。

创建 Bucket

  1. R2 → Create bucket
  2. 输入名称(如 shrimpsend-relay)。
R2 创建 Bucket
R2 创建 Bucket

创建 API 令牌

  1. R2 → Manage R2 API Tokens → Create API token
  2. 权限选择 Object Read & Write,范围限定到目标 Bucket。
  3. 保存 Access Key IDSecret Access Key
R2 API Token
R2 API Token

在 Bucket Settings → S3 API 中复制 Endpoint,形如:

https://<accountid>.r2.cloudflarestorage.com

配置 CORS

  1. Bucket → Settings → CORS Policy → Add CORS policy
  2. JSON 示例(大陆 Web):
[
  {
    "AllowedOrigins": ["https://xiachuan.net", "https://www.xiachuan.net"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedHeaders": ["*"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 86400
  }
]
R2 CORS Policy
R2 CORS Policy

填写虾传设置

字段示例
Endpointhttps://<accountid>.r2.cloudflarestorage.com
Regionauto(或与控制台一致)
Bucketshrimpsend-relay
Path-style视 Endpoint 而定,多数 R2 S3 API 可开启
Access Key IDR2 Access Key
Secret Access KeyR2 Secret
R2 S3 API Endpoint
R2 S3 API Endpoint
虾传 S3 设置页
虾传 S3 设置页

测试连接

R2 无 AWS 式 Region 约束,但 Endpoint 与 Path-style 组合错误会导致签名失败。测试后请实际传文件验证。

常见问题

Region 填什么? 常用 auto;以 R2 S3 兼容文档为准。

403? 检查 API Token 是否绑定正确 Bucket,且含 Write 权限。

与国际内置 R2 区别? 内置 S3 由平台托管;本文为 你自己的 R2 Bucket