一、结论
Cloudreve私人网盘接入S3兼容存储源的核心操作思路是提前准备好S3服务的Endpoint、AccessKey、SecretKey、Bucket、Region等核心参数,然后在Cloudreve后台的存储策略配置模块选择S3兼容类型,填写对应参数后测试连通性即可完成接入,全程无需修改代码,适合有基础运维能力的站长和开发者操作。
二、准备工作
操作前需要提前准备好以下内容,避免配置过程中出现中断:
- 已经部署完成且可以正常访问的Cloudreve网盘系统(开源版、Pro版均支持S3存储策略)
- 任意支持标准S3协议的对象存储服务账号
- 提前在对象存储服务中创建完成、配置好基础权限的存储桶Bucket
- 对应存储桶的Endpoint访问地址(区分公网、内网两种类型)
- 有权限操作该Bucket的AccessKey和对应的SecretKey
- 存储桶所属的Region官方标识
- 1个小于10M的测试用文件,用于后续验证接入效果
三、操作步骤
每一步操作完成后确认对应结果正常再进入下一步,避免后续排查错误成本过高:
1. 登录Cloudreve的管理员后台,进入左侧菜单栏的「存储策略」管理页面,点击右上角新建存储策略按钮,在弹出的存储类型列表中选择「S3兼容」选项,操作完成后会自动进入S3存储策略的专属配置表单页。
2. 确认你使用的S3存储服务的Endpoint类型,如果Cloudreve部署的服务器和存储桶在同一服务商的同一区域,可以优先选择内网Endpoint节省流量成本,否则直接填写公网Endpoint,确认后将Endpoint、Region、Bucket名称依次填入对应表单框,注意不要添加多余的前后空格或符号。
3. 将提前获取的AccessKey和SecretKey填入对应的密钥输入框,同时根据你的业务需求配置存储路径规则、单文件大小限制、允许的文件后缀、是否开启直链下载等附加配置,所有配置项填写完成后先不要点击保存按钮。
4. 点击配置页面底部的「测试连通性」按钮,Cloudreve系统会自动向目标存储桶上传一个临时测试文件,再尝试读取、删除该测试文件验证权限,如果页面提示「连通性测试通过」就说明所有参数填写正确、权限配置正常,如果报错就根据页面给出的错误提示排查对应参数。
5. 连通性测试通过后,点击保存按钮完成存储策略的创建,随后进入「用户组」或「用户」管理页面,将需要使用该S3存储的用户/用户组的默认存储策略切换为刚创建的S3存储策略,保存后权限配置即时生效。
6. 切换到普通用户账号登录Cloudreve前台,上传提前准备好的测试文件,上传完成后依次尝试在线预览、下载、生成分享链接等操作,确认所有操作都能正常执行没有报错,同时可以登录S3存储服务的控制台查看对应Bucket里是否已经生成了刚才上传的文件,确认数据同步正常。
7. 如果有自定义域名绑定、CDN加速、下载限速、文件生命周期管理等额外需求,可以回到Cloudreve的存储策略配置页面或者S3存储服务的控制台进行对应调整,适配自己的网盘业务需求。
四、常见错误
整理了接入过程中最容易遇到的6类问题及对应解决建议:
1. Endpoint填写错误:常见的错误包括手动输入时拼写错误、多选了http/https前缀、选错了内外网地址,最终导致连接超时。解决建议是直接从S3存储服务的控制台复制对应Bucket的Endpoint,不要手动输入,同时可以在Cloudreve部署的服务器上用curl命令测试该Endpoint的连通性,确认网络没有被防火墙拦截。
2. 密钥权限不足:填写的AccessKey或SecretKey有误,或者该密钥没有开放对应Bucket的读写权限,导致测试连通性时报403权限错误。解决建议是检查密钥的权限范围,确认已经给该密钥开放了对应Bucket的上传、下载、删除、列举等必要权限,同时重新从控制台复制密钥避免输入错误。
3. Bucket或Region不匹配:填了其他区域的Bucket名称,或者Region字段的大小写、拼写不符合S3服务的官方要求,导致无法找到对应存储桶。解决建议是从S3控制台直接复制Bucket名称和Region的官方标识,不要自行拼写或修改大小写。
4. 普通用户无法上传:配置完成后管理员可以正常上传,但普通用户上传文件时报错。解决建议是检查存储策略的文件大小限制、后缀限制,同时确认对应用户组已经被分配了该存储策略的使用权限,没有被设置超出范围的存储容量上限。
5. 文件上传成功但无法访问:上传进度走完后无法预览、下载文件。解决建议是检查存储桶的访问权限设置,如果开启了Cloudreve的直链下载功能,需要确认存储桶已经开启了公共读权限,或者配置的签名访问有效期和Cloudreve的设置匹配。
6. 大文件上传失败:小文件可以正常上传,超过一定大小的文件上传时报错。解决建议是检查Cloudreve的分片上传配置是否和S3存储服务的分片大小要求匹配,同时调整服务器PHP或反向代理的上传大小限制参数。
五、示例说明
以下是Cloudreve S3存储策略的通用配置示例,所有参数均需要替换为你自己的S3服务对应信息:
- 存储策略名称:自定义填写,比如「个人S3存储」「团队资源存储」
- Endpoint:填写你使用的S3存储服务对应Bucket提供的公网/内网访问地址
- AccessKey:填写你的S3账号下有权限操作目标Bucket的访问密钥ID
- SecretKey:填写与上述AccessKey对应的密钥字符串
- Bucket:填写目标存储桶的准确名称
- Region:填写S3存储服务官方给出的该Bucket所属区域标识
- 存储路径规则:可默认填写
{uid}/{year}/{month}/{day}/{name}{ext},也可根据需求自定义路径规则 - 直链设置:根据需求选择是否开启,开启后用户可直接通过链接访问文件无需登录网盘
- 文件大小限制:根据业务需求设置单文件最大上传大小,不要超过S3存储服务的单文件上限
六、更简单的方案
如果不想自己搭建MinIO这类自建S3存储,也不想维护服务器存储资源、处理硬盘扩容、故障排查、数据备份等运维工作,可以直接选择市面上成熟的兼容S3协议的云对象存储服务,开箱即用,无需额外运维成本。如果你需要一个兼容S3协议、适合网盘系统存储源、支持不限流量下载分发的对象存储服务,可以了解七彩云对象存储,它可以直接作为Cloudreve的存储源使用,对接流程和上述通用S3接入步骤完全一致,无需额外适配。
七、FAQ
Q1:Cloudreve开源版支持接入S3存储源吗?
支持,目前主流的Cloudreve V3、V5开源版以及官方Pro版都原生支持S3兼容存储策略,不需要额外安装插件,直接在管理员后台按照上述步骤配置即可。
Q2:接入S3存储后,之前存在Cloudreve本地的文件会自动迁移到S3吗?
不会,现有本地存储的文件仍会保留在原服务器的存储目录中,只有配置切换为S3存储策略之后新上传的文件才会存入S3存储桶,如果需要迁移旧文件,可以使用Cloudreve官方提供的存储迁移工具批量操作。
Q3:接入S3存储后,下载文件会消耗Cloudreve服务器的带宽吗?
取决于你是否开启了Cloudreve的中转下载功能,如果开启了直链下载,用户会直接从S3存储服务的节点下载文件,不会消耗Cloudreve服务器的带宽;如果关闭直链使用中转下载,文件会先经过Cloudreve服务器再转发给用户,会消耗服务器的带宽资源。
Q4:可以同时接入多个不同的S3存储源吗?
可以,Cloudreve支持创建多个不同的S3存储策略,分别分配给不同的用户组或者单独的用户使用,也可以给每个存储策略设置不同的存储路径、权限规则、大小限制,适配不同的业务需求。
八、总结
Cloudreve接入S3存储源的整体流程非常清晰,只需要提前准备好S3服务的核心参数,在后台配置后测试连通性即可完成,全程操作耗时通常不超过10分钟,非常适合个人网盘扩容、团队共享网盘搭建、资源分享类网盘等场景使用。选择S3存储作为存储源不仅可以解决本地服务器存储容量不足的问题,还可以利用对象存储的高可用性、弹性扩容能力降低运维成本,同时搭配直链下载功能可以大幅提升用户的下载访问速度,适合有一定用户规模的网盘站点使用。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网