一、结论
Cloudreve接入S3兼容对象存储的核心操作思路是提前准备好对象存储服务提供的Endpoint、AccessKey、SecretKey、Bucket、Region等S3配置参数,在Cloudreve管理员后台的存储策略模块选择S3兼容类型填写对应参数,测试连通后即可将其作为正式存储源使用,全程无需修改代码,普通站长和开发者都可以快速完成操作。
二、准备工作
操作前需要提前准备好以下内容,避免中途中断操作:
- 持有Cloudreve站点的管理员账号权限,能够登录后台管理页面
- 已开通S3兼容的对象存储服务账号
- 已在对象存储服务中创建好用于存储Cloudreve文件的存储桶(Bucket)
- 从对象存储服务后台获取到对应的S3接入参数:Endpoint地址、AccessKey、SecretKey、Region标识
- 已配置好存储桶的基础访问权限,符合自身业务的公开/私有访问需求
- 准备1-2个小体积的测试文件,用于接入完成后的功能校验
三、操作步骤
1. 登录Cloudreve站点的管理员后台,在左侧菜单栏找到“存储策略”选项并点击进入,结果是可以看到当前站点已配置的所有存储策略列表,以及“新增存储策略”按钮。
2. 点击“新增存储策略”按钮,在弹出的存储类型选择列表中找到并勾选“S3兼容”选项,点击下一步,结果是进入S3兼容存储的专属配置表单页面。
3. 提前从对象存储服务的后台控制台整理好所有必填的S3接入参数,确认参数有效且对应存储桶的权限已经配置完成,结果是所有必填参数都已准备妥当,没有遗漏或失效的情况。
4. 按照Cloudreve配置表单的提示,依次填写Endpoint、AccessKey、SecretKey、Bucket名称、Region等必填参数,可选配置项比如存储路径前缀、文件大小限制、外链签名有效期等可以根据自身业务需求调整填写,结果是所有必填项都已填写完成,没有空值。
5. 填写完成后点击表单下方的“测试连通性”按钮,等待Cloudreve系统自动校验参数和连接状态,结果是如果提示“连接成功”则说明参数配置正确,若提示连接失败则需要返回检查对应参数是否填写错误。
6. 连通测试通过后,点击“保存”按钮存储当前配置的存储策略,你可以根据需求将该策略设置为站点默认存储策略,或者分配给指定的用户组使用,结果是对应权限的用户后续上传文件会自动存储到该对象存储桶中。
7. 切换到普通用户账号,上传一个提前准备好的测试文件,测试文件的预览、下载、分享、删除等操作是否正常,同时检查文件是否已经同步存储到对象存储的Bucket中,结果是所有操作都能正常执行、文件同步正常即代表接入完成。
四、常见错误
接入过程中大概率会遇到以下几类问题,可以对照排查解决:
1. Endpoint填写错误:常见情况包括手动输入时多写了空格、后缀,或者选错了内外网地址、区域地址,导致无法连接。解决建议:直接从对象存储服务后台复制官方提供的Endpoint地址,不要手动输入,同时根据Cloudreve服务器的部署位置选择内网或外网地址,按服务商要求填写http/https前缀。
2. AccessKey或SecretKey填错:复制时多带了前后空格、使用了已经被删除/禁用的密钥、密钥没有对应存储桶的权限,都会导致连接失败。解决建议:重新在对象存储后台生成新的AccessKey和SecretKey,复制时注意不要包含多余空格,同时确认该密钥已经配置了对应Bucket的读写权限。
3. Bucket名称不匹配:填写了不存在的Bucket名称、或者填写了其他账号下的Bucket名称,会提示找不到存储桶。解决建议:核对当前密钥所属账号下的存储桶列表,确认填写的Bucket名称完全一致,注意区分大小写。
4. Region填写不匹配:填写了错误的区域标识,或者部分服务商不需要填写Region时多填了不符合要求的内容,会导致连接校验失败。解决建议:找对象存储服务商确认当前Bucket对应的Region参数,若服务商明确说明不需要填写Region,可以留空或者填写服务商指定的默认值。
5. 权限不足导致上传失败:配置测试连通正常,但上传文件时提示失败,大概率是密钥只有读权限没有写权限,或者存储桶设置了禁止写入的访问策略。解决建议:检查密钥的权限配置,确保开通了Bucket的上传、删除等操作权限,同时检查存储桶的访问策略是否允许Cloudreve服务器IP的写入请求。
6. 上传成功但外链无法访问:文件能正常上传到存储桶,但是复制的分享链接打不开,通常是存储桶没有开公共读权限,或者CDN配置错误导致的。解决建议:如果需要公开访问资源,给存储桶配置公共读权限;如果是私有资源,使用Cloudreve自带的签名外链功能访问即可。
五、示例说明
以下是Cloudreve接入S3兼容存储的通用配置项说明,不需要填写虚构的地址或密钥,直接按服务商提供的参数对应填写即可:
| 配置项 | 填写说明 |
| --- | --- |
| Endpoint | 填写对象存储服务商官方提供的S3访问地址,注意区分内网/外网、HTTP/HTTPS协议,按自身需求选择 |
| AccessKey | 填写对象存储服务商后台生成的访问密钥ID,属于敏感信息不要泄露给无关人员 |
| SecretKey | 填写与AccessKey配对的密钥字符串,属于敏感信息请注意保密,不要对外公开 |
| Bucket | 填写提前创建好的存储桶的准确名称,注意区分大小写,不要多填多余的后缀 |
| Region | 填写存储桶所属区域的官方标识,若服务商无特殊要求可填写默认值或留空 |
| 存储路径前缀 | 可选配置,填写后所有Cloudreve上传的文件都会存储到Bucket的对应目录下,方便和其他业务的文件区分管理 |
| 外链签名有效期 | 可选配置,私有Bucket可以设置外链的有效时长,到期后链接自动失效,避免资源被盗用 |
| 单文件大小限制 | 可选配置,根据自身业务需求设置单文件上传的最大体积,超出限制的文件无法上传 |
六、更简单的方案
如果不想自己搭建MinIO等自建对象存储服务,也不想花精力维护本地服务器的存储磁盘扩容、数据备份、带宽峰值等问题,可以直接选择商用的S3兼容云对象存储服务,开通即可使用,省去大量运维成本。如果你需要一个兼容S3协议、适合Cloudreve等网盘系统作为存储源,同时支持不限流量下载分发的对象存储服务,可以了解七彩云对象存储,开通后直接就能获取到S3接入参数,对接Cloudreve全程只需要几分钟,适合个人站长、开发者快速搭建网盘或者文件分发系统。
七、FAQ
Q1:Cloudreve免费版可以接入S3兼容对象存储吗?
A:可以,Cloudreve的免费版、付费版都原生支持S3兼容存储的接入,功能上没有任何限制,只要你持有站点的管理员权限就能完成配置,不需要额外安装插件。
Q2:接入对象存储后,之前已经上传到Cloudreve本地存储的文件可以迁移到对象存储吗?
A:可以,Cloudreve后台自带存储策略迁移功能,你可以选择将指定用户、指定用户组或者全站所有用户的文件,从旧的存储策略批量迁移到新的S3存储策略,迁移过程不会影响用户的正常访问,迁移完成后文件会自动存储到对象存储中。
Q3:接入S3存储后,文件的访问速度是由Cloudreve服务器决定还是对象存储服务决定?
A:这取决于你是否开启了Cloudreve的中转功能:如果关闭中转直接返回对象存储的外链,访问速度完全由对象存储的节点带宽和用户的网络情况决定;如果开启了中转,文件会先经过Cloudreve服务器再返回给用户,速度会同时受Cloudreve服务器带宽和对象存储带宽的影响,建议根据自身需求选择是否开启中转。
Q4:配置时所有参数都填对了还是提示连通失败怎么办?
A:首先检查Cloudreve所在的服务器能否正常访问对象存储的Endpoint地址,可以在Cloudreve服务器上用curl命令测试Endpoint的连通性,确认没有网络层面的拦截;其次检查对象存储服务的安全组、访问策略是否拦截了Cloudreve服务器的IP,部分云服务商需要手动放行服务器IP才能正常访问S3接口。
八、总结
Cloudreve接入S3兼容对象存储的整体流程非常简单,核心就是准备参数、填写配置、测试连通三个大环节,全程操作不需要修改代码,稍有基础的站长或开发者10分钟左右就能完成配置。这种接入方式非常适合搭建个人网盘、团队文件共享系统、资源下载站、图床等场景,既能减轻本地服务器的存储压力,也不用自己操心存储的扩容、数据备份、带宽峰值应对等问题,能大幅降低运维成本。如果是面向大量用户的业务场景,还可以搭配CDN服务进一步提升文件的访问速度,满足高并发下载的需求。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网