一、结论
Cloudreve对接第三方S3兼容的外部存储,核心是先从存储服务商处获取Endpoint、AccessKey、SecretKey、Bucket、Region等核心配置信息,再在Cloudreve后台的存储策略中选择S3兼容类型填入对应参数,测试连通后即可启用,全程无需修改代码,普通站长即可完成操作。
二、准备工作
操作前需提前准备好以下内容,避免配置过程中反复切换页面耽误时间:
- 已完成部署的Cloudreve站点的管理员账号权限
- 兼容S3协议的对象存储服务的有效账号
- 提前在对象存储服务中创建好的存储桶(Bucket)
- 对象存储服务商提供的标准S3接口Endpoint地址
- 具备目标存储桶读写权限的AccessKey和对应SecretKey
- 存储桶所属的Region区域标识
- 至少1个测试用的小文件(如图片、文档等,用于验证上传下载功能)
三、操作步骤
每一步操作均需确认完成结果后再进入下一个环节,避免后续出现参数错误:
1. 登录Cloudreve后台管理界面,进入「存储策略」页面,点击新建存储策略,选择存储类型为「S3兼容存储」,完成后即可看到S3存储的专属配置表单。
2. 登录你使用的S3对象存储服务商控制台,进入已创建的存储桶详情页,复制获取Endpoint、Bucket名称、Region等公开配置信息,再进入密钥管理页面,获取具备该存储桶读写权限的AccessKey和SecretKey,注意不要使用全局管理员密钥,避免权限溢出。
3. 回到Cloudreve的S3存储策略配置表单,按提示依次填入刚才获取的Endpoint、AccessKey、SecretKey、Bucket、Region等参数,可根据业务需求选择是否开启直链、是否设置存储路径前缀、是否限制文件大小和格式。
4. 找到配置页中的「测试连通性」按钮,点击发起测试,系统会自动尝试和目标S3存储建立连接,如果提示测试通过就说明参数配置正确,如果提示报错则需要返回逐一核对各项参数。
5. 测试通过后保存存储策略,进入「用户组」或「用户」管理页面,将该存储策略分配给对应的用户或用户组,完成后对应用户就可以将文件上传到该第三方存储中。
6. 切换到普通用户账号,上传提前准备的测试文件,上传成功后点击获取直链或者直接预览,确认文件能正常访问和下载,同时去对象存储服务商的存储桶文件列表查看,确认文件确实存储到了对应的Bucket中。
7. 如果需要将该存储作为Cloudreve的默认存储,回到存储策略页面,将该S3存储策略设置为默认即可,后续所有用户的默认上传都会自动存到该第三方存储中。
四、常见错误
以下是配置过程中最容易出现的问题及对应解决方法:
- Endpoint填写错误:很多用户会漏填协议头(http/https)或者填成了存储桶访问域名而不是官方提供的S3接口Endpoint,解决方法是直接复制服务商控制台提供的标准Endpoint地址,不要自行修改。
- AccessKey或SecretKey填写错误:比如多复制了空格、密钥过期、或者该密钥没有对应存储桶的读写权限,解决方法是重新复制密钥,或者在服务商控制台检查密钥的权限范围和有效期,必要时重新生成新的密钥。
- Bucket名称或Region不匹配:比如填错了存储桶名称,或者存储桶的所属区域和填写的Region不一致,解决方法是核对存储桶的准确名称和所属Region,两者必须和服务商后台的信息完全一致。
- 权限不足导致上传失败:比如存储桶设置了私有读写但Cloudreve没有配置签名逻辑,或者密钥只有读权限没有写权限,解决方法是先将存储桶设置为公共读私有写测试,或者检查密钥的权限配置,确保拥有PutObject、GetObject等必要权限。
- 上传成功但无法访问文件:比如存储桶没有配置跨域规则,或者Cloudreve的存储策略中设置的直链域名有误,解决方法是在对象存储控制台配置跨域CORS规则,允许Cloudreve站点域名的访问请求,同时核对直链域名配置是否正确。
- 大文件上传失败:比如没有开启分片上传功能,或者存储桶设置了单文件大小上限,解决方法是在Cloudreve的存储策略中开启分片上传,同时检查存储桶的文件大小限制,调整到符合业务需求的范围。
五、示例说明
以下是通用配置项的填写说明,无需填写虚构的地址或密钥,直接根据你使用的存储服务信息对应填写即可:
| 配置项 | 填写说明 |
| --- | --- |
| Endpoint | 填写对象存储服务商官方提供的S3接口地址,不需要加存储桶前缀 |
| AccessKey | 填写你在服务商后台生成的、具备对应存储桶读写权限的访问密钥ID |
| SecretKey | 填写和上述AccessKey配对的访问密钥Secret |
| Bucket | 填写你提前创建好的存储桶的准确名称,注意大小写 |
| Region | 填写存储桶所属的区域标识,如无特殊要求可按服务商提示填写默认值 |
| 存储路径前缀 | 可选,填写你想将Cloudreve文件存放的目录路径,比如cloudreve/files/,留空则存放在存储桶根目录 |
| 直链域名 | 可选,填写存储桶绑定的自定义访问域名,留空则使用服务商默认的访问域名 |
六、更简单的方案
如果不想自己搭建MinIO这类私有对象存储,也不想花时间维护服务器存储资源、处理扩容和带宽问题,可以直接选择已经做好S3协议适配的公有云对象存储服务,免去运维成本。如果你需要一个兼容S3协议、适合网盘系统存储源、文件下载分发、图床存储的对象存储服务,可以了解 七彩云对象存储,不需要自行搭建存储集群,开通即可获取标准S3接入信息,直接填入Cloudreve的配置项就能完成对接,适合中小站长和开发者快速部署使用。
七、FAQ
Q:Cloudreve对接第三方存储后,原来已经上传到本地存储的文件会自动迁移吗?
A:不会,原有本地存储的文件还是会存放在服务器本地,如果你需要迁移,可以手动将文件导出后上传到新的第三方存储,或者使用Cloudreve的迁移工具批量迁移。
Q:对接S3存储后,用户下载文件会走Cloudreve服务器的流量吗?
A:默认情况下如果开启了Cloudreve的代理模式会走服务器流量,如果开启了直链模式,用户会直接从对象存储服务下载文件,不会占用Cloudreve服务器的带宽。
Q:可以在同一个Cloudreve站点对接多个不同的第三方S3存储吗?
A:可以,你可以在存储策略页面创建多个不同的S3存储策略,分别分配给不同的用户组或者用户,不同用户的文件会存到对应的存储桶中。
Q:AccessKey和SecretKey存在Cloudreve里安全吗?
A:Cloudreve会对敏感配置信息进行加密存储,只要你的Cloudreve站点本身的安全配置到位,不会出现密钥泄露的问题,同时建议你生成只对应单个存储桶的权限受限的密钥,不要使用全局管理员密钥,进一步降低风险。
八、总结
整体来说,Cloudreve对接第三方S3兼容存储的流程非常清晰,核心就是提前准备好S3接入的核心参数,在后台存储策略中填入对应内容,测试连通后分配给对应用户即可,全程操作难度低,普通站长10分钟左右就能完成配置。这种对接方式适合需要扩大存储容量、降低服务器带宽成本、提升文件下载访问速度的场景,不管是个人搭建私人网盘,还是团队搭建共享文档库,或者是中小站点搭建资源存储系统,都可以采用这种方案,灵活适配不同的存储需求。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网