把 Cloudflare R2 存储桶连接到 WildKite
创建你自己的 Cloudflare R2 存储,生成一把只对这一个桶有效的钥匙,再连接到 WildKite。整个过程中,你的媒体文件始终留在自己的桶里。
开始前准备
- 一个 Cloudflare 账号。R2 是 Cloudflare 提供的文件存储,第一次使用时按提示开通即可。
- 一个你愿意长期使用的存储名称。
- 一个 WildKite 账号。如果只想先看看流程,在线 Demo 会带你走一遍同样的界面。
完成后你将得到
- 一个私有的 R2 存储桶(也就是你自己的云端文件夹),始终留在你的 Cloudflare 账号里。
- 一把只对这一个桶有效的钥匙,而不是能管整个账号的那种。
- 一个测试通过、可以马上创建媒体库并开始上传的 WildKite 连接。
为什么 R2 适合作为第一个存储桶
Cloudflare R2 是按容量付费的云存储。不用自己搭服务器,也不会因为别人在线播放你的媒体而冒出额外账单。对大多数人来说,它是我们最推荐先尝试的存储。
最关键的一点是:你的原始音乐和视频文件始终留在你的 R2 桶里。WildKite 只保存展示和播放所需的少量信息——标题、缩略图、音频波形,以及它自动生成、放进你桶内专属文件夹里的几个小文件。
- 让你的桶保持私有。WildKite 从不需要你把它公开。
- 生成一把只对这一个桶有效的钥匙,而不是能动整个 Cloudflare 账号的那种。
- 挑一个你能长期接受的桶名称。存储日后改名通常意味着要把所有文件搬一遍,所以现在就定好更省事。
创建你的 R2 存储桶
-
在 Cloudflare 中打开 R2
在 Cloudflare 控制台里,进入 Storage & databases,再打开 R2。第一次使用时,Cloudflare 会引导你为账号开通 R2。
-
创建一个桶(Bucket)
桶就是你在云端的存储文件夹。给它起个能说明内容的名字,比如 wildkite-media 或 my-music-archive。
这个名字以后可能出现在各种工具和日志里,所以别在里面放任何私密信息——不要放密码,也不要放手机号。
-
保持私有
不要开启公开访问。WildKite 会在播放时临时生成短期、一次性的链接,所以桶可以一直锁着。
为 WildKite 生成一把钥匙
为了读取和播放你的文件,WildKite 需要 Cloudflare 提供三样东西:你存储的访问地址(Endpoint),以及一把由两部分组成的钥匙——Access Key ID 和 Secret Access Key。可以把这把钥匙想成应用程序代替你登录用的“用户名和密码”。
-
打开 API token 设置
在 R2 Overview 页面找到 API Tokens,点击 Manage。
-
创建一个 R2 API token
API token 就是 WildKite 用来访问你桶的钥匙。创建一个即可。如果只是自己用,选择个人(user)token 最简单。
-
把它限定到这一个桶
选择 Object Read & Write 权限——这让 WildKite 既能读取你的文件,也能保存它生成的那些小附件——并且只指向你刚创建的那个桶。这样这把钥匙就动不了账号里的其他东西。
-
立刻把钥匙复制下来
马上复制 Access Key ID 和 Secret Access Key。Cloudflare 只会显示一次 Secret,丢了就得重新生成一把。
-
复制你的存储地址
复制 Endpoint。它长这样:https://<你的账号 ID>.r2.cloudflarestorage.com——其中的账号 ID 由 Cloudflare 自动填好。
填写 WildKite 表单
回到 WildKite,打开新建存储连接的表单,把下面这些从 Cloudflare 一一抄过来。
| WildKite 字段 | 填写值 | 为什么重要 |
|---|---|---|
| Provider | Cloudflare R2 |
从列表里选 R2,WildKite 会自动帮你填好合适的默认项。 |
| Region | auto |
R2 不像某些存储那样区分区域,所以填 auto 就对了。WildKite 会替你设好。 |
| Endpoint | https://<你的账号 ID>.r2.cloudflarestorage.com |
粘贴你从 Cloudflare 复制的存储地址——不是某个桶的公开网址。 |
| Bucket | <你的桶名称> |
按 Cloudflare 里显示的样子原样输入桶名,连横杠也别漏。 |
| Prefix | media/(可选) |
Prefix 就是一个文件夹名。如果你只想让 WildKite 看你桶里的某个文件夹,就填上它;想用整个桶就留空。 |
| Access Key ID | <你的 Access Key ID> |
你从 Cloudflare 复制的钥匙的前半部分。 |
| Secret Access Key | <你的 Secret Access Key> |
钥匙的后半部分。WildKite 会加密保存,存进去之后无法再被读出来。 |
正式使用前先测一下
创建媒体库之前,先点 Test connection。WildKite 会快速检查地址、桶名和钥匙能不能配合工作,让你现在就发现拼写错误,而不是用到一半才发现。
如果你的钥匙能打开文件、但没有“列出桶里所有内容”的权限,WildKite 可能仍允许你保存。如果你是有意把钥匙设得很严格,这没问题——只是要知道,这时 WildKite 需要你指定一个文件夹(Prefix)才知道去哪里找。
CORS 只在出问题时才需要管
CORS 是桶上的一个设置,作用是让你的浏览器直接和存储通信。普通播放完全不用碰它。只有当你从浏览器上传失败时,才需要把 WildKite 连接编辑页上给出的 CORS 规则,复制进 Cloudflare。
如果遇到问题
| 你看到的提示 | 通常是哪里出了问题 | 怎么解决 |
|---|---|---|
| Access denied(访问被拒) | 钥匙没限定到这个桶,或者它不能读写文件。 | 重新生成一把钥匙,选 Object Read & Write,并指向你准确的桶名。 |
| Endpoint error(地址错误) | 你粘的是公开网址,或者存储地址里缺了账号 ID。 | 改用形如 https://<你的账号 ID>.r2.cloudflarestorage.com 的地址。 |
| 从浏览器上传失败 | 你的桶没有设置成接受来自 WildKite 网站的上传。 | 把 WildKite 连接页上的 CORS 规则复制进你桶的设置里。 |
| 扫描后什么都没出现 | WildKite 找的那个文件夹(Prefix)是空的。 | 再确认一下 Prefix,并核实你的文件确实在它下面。 |
在长期依赖它之前
- 如果你以后会同时跑不止一套(比如一套日常用、一套测试用),给每一套各配一把钥匙,别共用。
- Cloudflare 可以设置自动删除旧文件的规则。只有在你确实理解它的作用时才开启——否则它可能删掉你的媒体,以及 WildKite 生成的文件。
- 如果钥匙不小心出现在截图、聊天或日志里,就换一把。重新生成只要一分钟。
- 检查一下都有谁能进入你的 Cloudflare 账号,免得有人误删了桶。
常见问题
我的文件会被上传到 WildKite 吗?
不会。你的音乐和视频始终留在你自己的 R2 桶里。WildKite 只保存展示和播放所需的少量信息——标题、缩略图之类——外加几个它生成后又存回你桶里的小文件。
我的桶需要设成公开吗?
不需要,也不建议公开,保持私有就好。WildKite 每次播放时都会临时生成短期链接,不会把任何东西暴露给所有人。
我该不该专门为 WildKite 单独建一个桶?
对大多数人来说,建议这样做。专用的桶能让权限、费用和清理规则都更清爽,也更不容易误删到别的东西。
R2 大概多少钱?
R2 按你实际占用的存储量收费,并且省去了某些存储会收的“别人观看你文件”那部分费用。具体价格和免费额度会随时间变化,请以 Cloudflare 官网的 R2 价格页为准(截至 2026 年 6 月,最新限额以 Cloudflare 官网为准)。