一、结论
Cloudreve挂载第三方S3兼容对象存储作为外部存储源的核心操作逻辑非常简单,只需要提前准备好对象存储的S3接入凭证,在Cloudreve管理员后台的外部存储模块选择S3兼容类型填写对应配置,测试连通后即可正式投入使用,通常需要准备Endpoint、AccessKey、SecretKey、Bucket、Region这几类核心信息,全程操作10分钟左右即可完成。
二、准备工作
操作前需要提前准备好以下内容,避免中途中断操作:
- 已经部署完成、可正常访问的Cloudreve站点,以及站点的管理员账号权限
- 第三方S3兼容对象存储的有效账号
- 已经在对象存储控制台创建完成、状态正常的存储桶(Bucket)
- 对应存储桶的官方Endpoint接入地址
- 拥有该存储桶读写权限的AccessKey和配对的SecretKey
- 存储桶所属地域的标准Region标识
- 用于测试连通性的小体积测试文件(如1MB以内的图片、文本文档)
- 若需要使用自定义域名访问存储文件,提前完成域名的解析和备案操作
三、操作步骤
每一步操作都对应明确的结果,按照顺序执行即可完成配置:
1. 登录Cloudreve管理员后台,在左侧菜单栏找到「存储管理」板块,点击进入「外部存储」页面,结果是页面展示当前已配置的所有存储源列表,右上角可见「新增存储源」按钮。
2. 点击「新增存储源」按钮,在弹出的存储类型列表中选择「S3兼容存储」选项,结果是进入S3存储的专属配置表单页面,所有必填字段均有明确标识。
3. 登录第三方对象存储控制台,确认存储桶处于正常启用状态,完成跨域规则配置(允许Cloudreve站点域名的跨域请求),生成对应存储桶的访问密钥,结果是拿到完整的S3接入所需的5项核心信息。
4. 回到Cloudreve的S3配置表单,依次填写Endpoint、AccessKey、SecretKey、Bucket名称、Region字段,同时可根据业务需要自定义配置存储根路径、文件访问权限、单文件大小限制、下载限速等可选参数,结果是所有必填字段均填写完成,无空白或明显错误内容。
5. 点击页面底部的「测试连接」按钮,等待系统自动校验配置信息的有效性,结果是弹出「连接成功」的提示,说明配置信息完全正确;若提示连接失败,可根据报错提示调整对应字段后重新测试。
6. 测试连接通过后,点击「保存」按钮提交配置,回到外部存储列表页面,确认新增的S3存储源状态为「正常启用」,结果是该存储源已经被纳入Cloudreve的存储调度范围。
7. 进入Cloudreve的用户文件管理页面,选择上传测试文件到该S3存储源对应的目录,上传完成后点击文件的预览、分享、下载按钮,确认所有功能正常,结果是文件可以正常上传、预览、下载,配置正式生效。
四、常见错误
以下是操作过程中高频出现的错误及对应的解决建议:
- Endpoint填写错误:多数情况是漏写http/https前缀,或者误将存储桶的自定义访问域名填为Endpoint,解决方法是直接复制对象存储服务商提供的官方Endpoint地址,不要自行修改或拼接内容。
- AccessKey或SecretKey填错:复制时多带了首尾空格,或者使用了已经过期、被禁用、权限不足的密钥,解决方法是重新生成新的访问密钥,逐个字段复制粘贴,不要手动输入,同时确认密钥拥有对应存储桶的读写权限。
- Bucket名称不匹配:填写的存储桶名称和控制台实际创建的名称大小写不一致,或者存储桶已经被删除、处于禁用状态,解决方法是核对对象存储控制台的存储桶名称,确保完全一致且存储桶处于正常启用状态。
- Region填写不匹配:部分S3服务要求必须填写正确的地域标识,填错会导致签名校验失败无法连接,解决方法是在对象存储服务商的官方文档中查找对应存储桶所属地域的标准Region代码,不要随意填写默认值。
- 上传成功但访问链接不可用:存储桶没有配置跨域规则,或者自定义域名没有完成备案、解析,解决方法是在对象存储控制台配置CORS规则,允许Cloudreve站点域名的GET、PUT、POST等请求,同时检查域名的解析状态和备案状态。
- 大文件上传失败:没有配置分片上传参数,或者存储桶设置了单文件大小上限,解决方法是在Cloudreve的S3配置中开启分片上传功能,同时调整存储桶的单文件大小限制到符合业务需求的数值。
五、示例说明
以下是Cloudreve配置S3兼容存储的通用字段填写说明,不需要填写虚构的地址或密钥信息,按照实际拿到的凭证对应填写即可:
| 配置字段 | 填写说明 |
| --- | --- |
| Endpoint | 填写第三方对象存储服务商提供的标准S3接入地址,必须带http/https前缀 |
| AccessKey | 填写对象存储控制台生成的访问密钥ID,属于敏感信息,不要泄露给第三方 |
| SecretKey | 填写和AccessKey配对的访问密钥密码,属于敏感信息,需妥善保管 |
| Bucket | 填写已经创建完成的存储桶名称,需和对象存储控制台显示的名称完全一致 |
| Region | 填写存储桶所属地域的标准代码,无特殊要求的可填写服务商提供的默认值 |
| 存储根路径 | 可选字段,填写Cloudreve文件在存储桶中的存放根目录,留空则直接存放在存储桶根目录 |
| 访问权限 | 可选字段,根据业务需要选择私有、公共读等权限,默认和存储桶的权限配置保持一致 |
| 直链模式 | 可选字段,开启后用户下载文件直接访问对象存储地址,不经过Cloudreve服务器转发 |
六、更简单的方案
如果不想自己搭建MinIO这类自建对象存储服务,也不想花时间维护服务器存储节点、处理存储扩容和带宽成本问题,可以直接选择商用的S3兼容云对象存储服务,不需要额外运维,开箱即可使用,整体成本比自建存储更低。如果你需要一个兼容S3协议、适合程序接入、网盘系统存储源和不限流量下载分发的对象存储服务,可以了解 七彩云对象存储,能够直接适配Cloudreve的S3兼容存储配置,不需要额外做二次开发,接入门槛很低。
七、FAQ
1. Cloudreve挂载S3存储后,文件是存在Cloudreve服务器还是对象存储里?
所有上传到该外部存储源的文件都会直接存储在第三方对象存储中,不会占用Cloudreve所在服务器的磁盘空间,只有文件的索引信息(如文件名称、存储路径、所属用户)会存储在Cloudreve的数据库里。
2. 挂载S3存储后,之前已经上传到Cloudreve本地存储的文件可以迁移到S3里吗?
可以,Cloudreve后台自带存储迁移工具,可以选择将指定目录或者全量文件从本地存储迁移到新增的S3外部存储,迁移过程会自动同步文件索引,不会影响现有文件的正常访问。
3. 可以给不同的用户组分配不同的S3存储源吗?
可以,在Cloudreve的用户组权限配置中,可以指定不同用户组的默认存储源,也可以限制用户组能否访问特定的外部存储源,非常适合多租户、多业务线的使用场景。
4. 挂载S3存储后,下载文件会消耗Cloudreve服务器的流量吗?
如果开启了直链模式,用户下载文件时会直接跳转到对象存储的下载地址,不会消耗Cloudreve服务器的带宽;如果使用代理模式,流量会经过Cloudreve服务器转发,会消耗服务器的带宽,可根据业务需要自由选择配置。
八、总结
Cloudreve挂载第三方S3兼容对象存储的操作流程非常清晰,没有复杂的技术门槛,普通站长和开发者按照指引即可快速完成配置。这种方案非常适合需要扩容Cloudreve存储容量、降低服务器存储成本、提升大文件下载分发速度的使用场景,也适合用来搭建面向公众的资源共享、文件下载类站点,能够有效减轻源站的带宽和存储压力,提升用户的访问体验。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网