Docs
云存储配置
云存储配置
如何配置多平台云存储
English
简体中文
概览
管理员可以在 /admin/system
管理 S3 配置,包括添加、删除和修改云存储的 S3 配置。
WR.DO 目前支持多种云存储提供商:
- Cloudflare R2
- AWS S3
- 腾讯云 COS
- 阿里云 OSS
- 自定义提供商 (兼容 S3 API)
一个提供商可以添加多个存储桶
Cloudflare R2
1. 创建 R2 存储桶
- 登录您的 Cloudflare 仪表板
- 从左侧边栏导航到 R2 对象存储
- 点击 创建存储桶
- 输入您的存储桶名称(例如:
wrdo
) - 选择位置(建议选择自动)
- 点击 创建存储桶
2. 获取 API 凭证
- 在您的 Cloudflare 仪表板中,前往 我的个人资料 > API 令牌
- 点击 创建令牌
- 使用 R2 令牌 模板或创建自定义令牌,包含:
- 权限:
R2:Edit
- 账户资源: 包含您的账户
- 区域资源: 包含所有区域(如果需要)
- 权限:
- 点击 继续摘要,然后 创建令牌
- 复制并保存令牌(这是您的 访问密钥 ID 和 秘密访问密钥)
3. 获取账户 ID
- 在您的 Cloudflare 仪表板中,前往右侧边栏
- 复制您的 账户 ID
4. 获取公共 URL
- 在您的 Cloudflare 仪表板中,前往 R2 对象存储 > 存储桶详情 > 公共开发 URL
如果您已配置自定义域名,请使用该域名。
5. 配置 CORS
- 在您的 Cloudflare 仪表板中,前往 R2 对象存储 > 存储桶设置 -> CORS 策略
填入以下内容:
[
{
"AllowedOrigins": [
"http://localhost:3000",
"https://wr.do" // 替换为您的域名
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE",
"HEAD"
],
"AllowedHeaders": [
"*"
],
"ExposeHeaders": [
"ETag"
],
"MaxAgeSeconds": 3600
}
]
6. 在 WR.DO 中配置
访问 localhost:3000/admin/system
,填写配置表单:
- 提供渠道: cloudflare (r2)
- 渠道名称: Cloudflare R2(或任何自定义名称)
- S3 端点:
https://<账户ID>.r2.cloudflarestorage.com
(替换为您的账户端点) - 访问密钥 ID: 第 2 步中的 API 令牌
- 机密访问密钥: 第 2 步中的 API 令牌
- 启用: 开启
- 存储桶名称: 您的存储桶名称
- 公开域名或自定义域名: 参考第 4 步
- 存储桶区域: auto
- 前缀: 可选
- 公开: 如果您想要公共访问,请启用
腾讯云 COS
1. 创建 COS 存储桶
- 登录 腾讯云控制台
- 点击 存储桶列表 > 创建存储桶
- 输入存储桶名称(例如:
wrdo-1303456836
) - 选择地域(例如:
ap-chengdu
) - 配置访问权限
- 点击 创建
2. 获取 API 密钥
- 前往 CAM 控制台
- 点击 新建密钥 或使用现有密钥
- 保存您的 SecretId 和 SecretKey
3. CORS 设置
- 前往 COS 控制台
- 点击 存储桶列表 > 选择存储桶 -> 安全管理 -> 跨域访问 CORS 设置
- 填入下列规则:
4. 在 WR.DO 中配置
填写配置表单:
- 提供渠道: tencent (cos)
- 渠道名称: 腾讯云 COS(或任何自定义名称)
- S3 端点:
https://cos.ap-chengdu.myqcloud.com
(替换为您的地域) - 访问密钥 ID: 您的 SecretId
- 机密访问密钥: 您的 SecretKey
- 启用: 开启
- 存储桶名称: 您的存储桶名称(例如:
wrdo-1303456836
) - 公开域名或自定义域名:
https://wrdo-1303456836.cos.ap-chengdu.myqcloud.com
(您的存储桶公共 URL) - 存储桶区域: 您的 COS 地域(例如:
ap-chengdu
) - 前缀: 可选日期前缀
- 公开: 如果您想要公共访问,请启用
阿里云 OSS
1. 创建 OSS 存储桶
- 登录 阿里云控制台
- 点击 创建 Bucket
- 输入存储桶名称
- 选择地域(例如:
oss-cn-hangzhou
) - 配置 ACL 和其他设置
- 点击 确定
2. 获取 AccessKey
- 前往 RAM 控制台
- 点击 创建 AccessKey 或使用现有密钥
- 保存您的 AccessKeyId 和 AccessKeySecret
3. 在 WR.DO 中配置
填写配置表单:
- 提供渠道: ali (oss)
- 渠道名称: 阿里云 OSS(或任何自定义名称)
- S3 端点:
https://oss-cn-hangzhou.aliyuncs.com
(替换为您的地域) - 访问密钥 ID: 您的 AccessKeyId
- 机密访问密钥: 您的 AccessKeySecret
- 启用: 开启
- 存储桶名称: 您的存储桶名称
- 公开域名或自定义域名:
https://your-bucket.oss-cn-hangzhou.aliyuncs.com
(您的存储桶公共 URL) - 存储桶区域: 您的 OSS 地域(例如:
oss-cn-hangzhou
) - 前缀: 可选日期前缀
- 公开: 如果您想要公共访问,请启用
AWS S3
1. 创建 S3 存储桶
- 登录 AWS 控制台
- 点击 创建存储桶
- 输入存储桶名称(全球唯一)
- 选择 AWS 区域
- 根据需要配置存储桶设置
- 点击 创建存储桶
2. 创建 IAM 用户
- 前往 IAM 控制台
- 点击 用户 > 添加用户
- 输入用户名并选择 编程访问
- 附加现有策略或创建具有 S3 权限的自定义策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }
- 完成用户创建并保存 访问密钥 ID 和 秘密访问密钥
3. 在 WR.DO 中配置
填写配置表单:
- 提供渠道: aws (s3)
- 渠道名称: AWS S3(或任何自定义名称)
- S3 端点:
https://s3.amazonaws.com
(或特定区域端点) - 访问密钥 ID: 您的 IAM 用户访问密钥 ID
- 机密访问密钥: 您的 IAM 用户秘密访问密钥
- 启用: 开启
- 存储桶名称: 您的 S3 存储桶名称
- 公开域名或自定义域名: 您的存储桶公共 URL 或 CloudFront 分发
- 存储桶区域: 您的 S3 区域(例如:
us-east-1
) - 前缀: 可选日期前缀
- 公开: 如果您想要公共访问,请启用
通用配置选项
前缀设置
- 使用基于日期的前缀(例如:
2025/08/08
)按日期组织文件 - 如果您喜欢扁平文件结构,请留空
公共访问
- 如果您希望文件可以通过直接 URL 访问,请启用 公开
- 对于私有文件存储,请禁用
自定义域名
- 配置自定义域名以获得更好的品牌体验
- 确保为您的域名进行正确的 DNS 配置
故障排除
常见问题
- 访问被拒绝: 检查您的 API 凭证和权限
- 存储桶未找到: 验证存储桶名称和区域设置
- CORS 问题: 如果需要,在您的存储桶中配置 CORS 设置
- 端点错误: 确保您的提供商端点格式正确
测试配置
保存配置后,您可以通过以下方式测试:
- 通过管理界面上传测试文件
- 检查文件是否出现在您的云存储桶中
- 验证公共访问(如果启用)是否可以通过文件 URL 访问