跳到正文
文档/存储接入

S3 与 Cloudflare R2 ​

TG Vault 支持 S3 兼容对象存储。Endpoint、Region、Bucket 和密钥须属于同一服务,不能用控制台或公开下载地址代替 API 地址。

共同配置 ​

在 设置 → 存储 → 添加存储 → S3 填写:

字段内容
存储名称显示备注
Endpoint完整 HTTPS S3 API 地址
Region桶所在区域;R2 填 auto
Bucket桶名,不带协议或对象路径
AccessKey ID / Secret同一对 S3 访问密钥,不是登录密码
使用路径式访问按提供方要求选择,MinIO 等可能需要

不支持需要 SessionToken 的三段 STS 临时凭据。请求由后端发起,无需为 TG Vault 开放桶 CORS 或公共读写权限。

Cloudflare R2 分步配置 ​

  1. 在 Cloudflare R2 Object Storage 创建或选择桶,确认计费规则。
  2. 创建仅作用于目标桶的 R2 S3 API 对象读写凭据,保存 Access Key ID 和 Secret Access Key。
  3. 复制控制台提供的 S3 API Endpoint,通常为 https://<ACCOUNT_ID>.r2.cloudflarestorage.com,特殊管辖区域以实际地址为准。
  4. 在 TG Vault 填入 Endpoint 和 Bucket,Region 填 auto。
  5. 点击 验证并添加,按需 设为默认。上传后在桶内确认对象并下载检查。

R2 S3 密钥不是 Cloudflare 账号密码或通用 API Token;r2.dev 也不能代替 S3 API Endpoint。

其他提供方 ​

服务参数来源与注意事项
AWS S3使用桶所在 Region 和对应 Endpoint,授予最小 IAM 权限
Backblaze B2使用桶的 S3 Endpoint、Region 和 S3 兼容 Application Key,保留列举及对象读写权限
MinIO向管理员获取 API 地址与 Region;管理控制台端口不是 S3 API,通常需路径式访问

S3 接入要求公网 HTTPS,拒绝私有、回环和保留地址。WebDAV 的内网开关不放宽 S3。

错误先按阶段排查 ​

报错或现象检查
SignatureDoesNotMatch密钥配对、Region、Endpoint、路径式访问、服务器时钟
AccessDenied桶名、策略资源、列举及对象操作权限
TLS/地址被拒证书与实际网络端点
连接成功但上传失败写入权限、配额、文件大小、源站或代理限制

测试删除权限请用新对象。移除 TG Vault 账户不删除桶内对象,对象也不包含在本地备份中。