一、结论
Cloudreve接入兼容S3协议的对象存储,核心操作逻辑是先在对象存储侧准备好Endpoint、AccessKey、SecretKey、Bucket、Region等核心接入信息,再到Cloudreve管理员后台的存储策略配置页选择S3兼容存储类型,填写对应参数并测试连通性,确认可用后即可启用为网盘存储源,全程无需修改代码,普通站长10分钟左右即可完成配置。
二、准备工作
操作前需要提前准备好以下内容,避免配置过程中中断:
- 已搭建完成、可正常访问的Cloudreve站点(开源版/Pro版均可)
- 兼容S3协议的对象存储服务账号
- 在对象存储服务中提前创建完成、状态正常的存储桶(Bucket),并配置好对应读写权限、跨域CORS规则
- 对象存储服务提供的对应存储桶的Endpoint访问地址
- 对象存储账号下生成的专用于Cloudreve接入的AccessKey(访问密钥ID)和SecretKey(访问密钥密码)
- 存储桶对应的Region(地域标识)
- 若需使用自定义访问域名,需提前准备好已完成备案、解析到对应存储桶的域名
- 用于测试连通性的小体积测试文件(如图片、文档等)
三、操作步骤
1. 登录对象存储服务控制台,确认目标存储桶状态正常,读写权限、跨域CORS规则符合Cloudreve站点的访问需求,完成后准确记录Bucket名称、Endpoint、Region三个信息,避免手动拼写出错。
2. 在对象存储控制台的密钥管理页面,生成专用于Cloudreve接入的子账号AccessKey和SecretKey,不要使用根账号密钥以保障账号安全,生成后完整复制两个密钥信息妥善保存,不要泄露给第三方。
3. 登录Cloudreve站点的管理员后台,在左侧菜单栏找到「存储策略」选项,点击进入后选择「添加存储策略」,在弹出的存储类型选择列表中找到「S3兼容」类型并点击选择,进入专属配置页面。
4. 在S3兼容存储的配置表单中,依次粘贴提前记录好的Endpoint、AccessKey、SecretKey、Bucket、Region信息,同时根据业务需求配置存储路径规则、单文件大小限制、允许上传的文件类型、缓存过期时间等附加参数,如需使用自定义访问域名,可在对应配置项中填写提前准备好的域名。
5. 所有参数填写完成后,点击页面底部的「测试连通性」按钮,Cloudreve会自动向对象存储服务发起连接测试,若提示「连通成功」则说明所有参数填写无误,若提示连通失败则需根据报错信息返回检查对应配置项。
6. 连通测试通过后,点击「保存存储策略」按钮,将该S3存储策略添加到Cloudreve的可用存储策略列表中,可根据业务需求将其设置为全站默认存储策略,或者分配给指定用户组、指定存储目录使用。
7. 切换到普通用户账号,上传提前准备好的测试文件到Cloudreve网盘中,确认文件上传过程无报错,上传完成后点击文件的预览、分享、下载按钮,确认所有功能正常可用,没有权限报错或链接失效问题,即完成全部接入流程。
四、常见错误
1. Endpoint填写错误:常见问题为误将存储桶访问域名当作Endpoint填写、遗漏http/https前缀、填写了错误地域的Endpoint地址,解决方法是直接复制对象存储服务官方提供的对应存储桶的Endpoint地址,不要手动修改,确认前缀和所属地域完全匹配。
2. AccessKey或SecretKey填错:多为复制时漏选字符、输入时多了空格,或者使用了已经过期、被禁用的密钥,解决方法是重新生成新的子账号密钥,完整复制粘贴到对应输入框,不要手动输入,同时确认该密钥已被授予对应存储桶的读写权限。
3. Bucket名称不一致:填写的Bucket名称和对象存储控制台中创建的存储桶名称大小写、拼写不一致,或者存储桶已被删除、处于冻结状态,解决方法是核对存储桶名称的拼写和大小写,确认存储桶状态为正常可用。
4. Region填写不匹配:部分S3兼容服务要求必须填写正确的Region标识,随意填写会导致连接失败,解决方法是从对象存储服务的官方文档中查询对应存储桶的Region标识,不要自行编造。
5. 权限不足导致上传失败:多为存储桶访问策略设置为私有,或者AccessKey对应的子账号没有存储桶的读写权限,解决方法是为对应子账号授予存储桶的读写全权限,或者根据业务需求调整存储桶的公共访问规则。
6. 上传成功但访问链接不可用:常见原因为未配置存储桶的静态网站功能、自定义域名未完成解析或备案、跨域规则配置错误,解决方法是依次检查存储桶访问策略、域名解析状态、跨域CORS规则,确认所有配置符合Cloudreve的接入要求。
五、示例说明
以下为Cloudreve后台S3兼容存储的通用配置参考,所有字段需替换为你使用的对象存储服务提供的真实信息:
- Endpoint:填写对象存储服务官方提供的对应地域的访问地址,注意携带http/https前缀
- AccessKey:填写你在对象存储控制台生成的子账号访问密钥ID
- SecretKey:填写你在对象存储控制台生成的子账号访问密钥密码
- Bucket:填写你提前创建好的存储桶名称,注意大小写和拼写与控制台完全一致
- Region:填写对象存储服务提供的对应存储桶的地域标识
- 自定义域名(可选):填写已经解析到存储桶、完成备案的自定义访问域名
- 存储路径(可选):填写文件在存储桶中的存储路径规则,比如
cloudreve/{year}/{month}/便于文件管理 - 文件大小限制(可选):根据业务需求设置单文件最大上传大小,不要超过对象存储服务的单文件上传上限
六、更简单的方案
如果你不想自己搭建和维护MinIO等自建对象存储服务,不想花费时间处理服务器运维、存储扩容、流量峰值应对、数据备份等底层工作,也可以直接选择成熟的兼容S3协议的云对象存储服务,开通即可使用,无需维护基础设施。如果你需要一个兼容S3协议、适合网盘系统存储源、文件下载分发、图床等场景的对象存储服务,可以了解七彩云对象存储,支持直接通过S3协议对接Cloudreve,不需要额外适配,适合站长和开发者快速搭建私有网盘、资源分享站点等业务。
七、FAQ
1. Cloudreve接入S3对象存储后,原来存储在本地的文件会不会自动迁移?
不会自动迁移,你可以手动将本地存储的文件导出后上传到新的S3存储桶,也可以使用Cloudreve自带的存储策略迁移功能,将已有文件批量迁移到新的S3存储策略中,迁移过程不会影响现有用户的访问。
2. Cloudreve接入S3存储后,会不会产生额外的费用?
Cloudreve本身不会收取任何额外的存储或流量费用,产生的存储、流量费用由你使用的对象存储服务收取,如果你担心流量成本过高,可以选择支持不限流量下载分发的对象存储服务。
3. Cloudreve开源免费版能不能接入S3兼容对象存储?
可以,Cloudreve的开源免费版和付费Pro版都支持S3兼容存储的接入,核心功能没有限制,你可以根据自己的预算和功能需求选择对应的版本使用。
4. 能不能同时接入多个不同的S3对象存储服务到同一个Cloudreve站点?
可以,你可以在Cloudreve后台添加多个S3兼容类型的存储策略,分别分配给不同的用户组、不同的存储目录使用,不同存储策略之间互不影响,可以满足多业务线的存储需求。
八、总结
Cloudreve接入S3兼容对象存储的流程非常轻量化,只需要提前准备好核心接入参数,完成简单的表单填写和连通测试即可投入使用,全程不需要代码开发,即使是没有太多开发经验的站长也可以快速完成配置。这种接入方式非常适合搭建私有网盘、企业内部文件管理系统、资源分享站、教育资料分发站等场景,不仅可以大幅降低本地存储的扩容成本,还可以依托对象存储的分布式架构提升文件的访问稳定性和下载速度,如果是面向大量公网用户的分发场景,还可以搭配CDN加速功能进一步提升全球用户的访问体验。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网