一、结论
Cloudreve配置第三方S3兼容对象存储实现资源扩容,核心是先在对象存储服务商处准备好S3接入所需的Endpoint、AccessKey、SecretKey、Bucket、Region等信息,再在Cloudreve后台的存储策略中添加S3兼容存储源,测试连通后即可将用户上传资源转存到第三方对象存储,无需修改代码即可快速实现本地存储资源扩容。
二、准备工作
- Cloudreve站点的管理员账号权限,可进入后台配置存储策略
- 兼容S3协议的对象存储服务账号
- 提前在对象存储服务中创建好对应存储桶(Bucket)
- 对象存储服务商提供的公网Endpoint地址
- 对应存储桶的访问密钥:AccessKey(建议使用子账号密钥保障安全)、SecretKey
- 对应存储桶所属的Region(区域)信息
- 若干小体积测试文件,用于后续验证配置是否生效
- 确认Cloudreve所在服务器可正常访问对象存储服务的公网Endpoint
三、操作步骤
1. 登录Cloudreve管理员后台,进入「存储策略」管理页面,点击新建存储策略,选择存储类型为「S3兼容存储」,确认后进入配置填写页面。
2. 登录你的对象存储服务商控制台,进入目标存储桶的配置管理页,依次复制Endpoint、Bucket名称、Region、AccessKey、SecretKey等信息,操作过程中注意不要泄露密钥信息,避免资源被盗用。
3. 回到Cloudreve的S3存储策略配置页,按页面提示依次填写刚刚复制的S3接入信息,存储路径前缀、直链有效期、默认文件权限等可选配置可以根据自身业务需求调整,无特殊要求可保持默认设置。
4. 所有必填项填写完成后,点击页面下方的「测试连接」按钮,系统会自动向对象存储服务发起连通性测试,测试成功会弹出成功提示,失败则会返回具体错误原因方便排查。
5. 连接测试通过后,保存该存储策略,你可以根据需求将其设置为全站默认存储策略,也可以针对特定用户组、特定文件大小、特定文件类型配置单独使用该存储策略,实现资源分层管理。
6. 切换到Cloudreve前台用户界面,上传提前准备的测试文件,上传完成后进入文件详情页查看存储路径,确认文件是存储在刚刚配置的第三方对象存储中,同时测试文件的在线预览、下载、分享等功能是否正常可用。
7. 如果需要迁移已有本地存储的历史文件到第三方对象存储,可以使用Cloudreve自带的文件迁移工具,选择需要迁移的文件或目录,目标存储策略选择刚配置的S3存储即可自动完成批量迁移,迁移过程不会影响已有文件的正常访问。
四、常见错误
- Endpoint填写错误:常见问题是多写了存储桶前缀、漏写http/https协议头,或者误用了内网Endpoint导致Cloudreve服务器无法访问,解决方法是直接复制服务商提供的公网Endpoint,不要自行修改内容。
- AccessKey或SecretKey填错:多数是复制时多带了前后空格、或者使用了已经过期/被删除的密钥,解决方法是回到服务商控制台重新生成有效密钥,复制时注意不要漏字符也不要多带空格。
- Bucket名称不匹配:比如填错了存储桶名称、或者存储桶尚未创建/已被禁用,解决方法是核对服务商控制台的存储桶名称,确认存储桶处于正常启用状态。
- Region填写不匹配:不同服务商的Region命名规则不同,部分用英文城市名、部分用数字代号,填错会导致认证失败,解决方法是复制服务商提供的对应存储桶的Region参数,不要自行猜测填写。
- 权限不足导致上传失败:常见是AccessKey对应的子账号没有存储桶的读写权限,解决方法是在服务商控制台给对应子账号配置存储桶的全读写权限,也可以根据业务需求按需分配上传、下载、删除等最小必要权限。
- 上传成功但无法访问文件:多数是存储桶的公网访问权限未开启、或者跨域CORS配置不符合Cloudreve的域名要求,解决方法是检查存储桶的公网访问策略,同时配置跨域CORS规则,允许Cloudreve站点域名的GET、POST、PUT、DELETE等请求。
五、示例说明
以下为Cloudreve S3存储策略的通用配置参考,所有参数均从对象存储服务商控制台获取即可,无需自行编造:
- Endpoint:填写对象存储服务商提供的公网访问地址,注意携带http/https前缀
- AccessKey:填写服务商生成的访问密钥ID
- SecretKey:填写与AccessKey配对的私密访问密钥
- Bucket:填写提前创建的目标存储桶名称
- Region:填写对应存储桶所属的区域代码
- 存储路径前缀:可选配置,填写后所有上传的文件都会存到该前缀对应的目录下,方便多业务分类管理
- 直链有效期:可选配置,针对私有存储桶可以设置直链的有效时长,防止资源被恶意盗刷
- 跨域配置:建议在对象存储控制台配置允许Cloudreve站点域名的GET、POST、PUT、DELETE请求,允许所有头部信息,避免出现跨域访问错误。
六、更简单的方案
如果不想自己搭建MinIO等私有对象存储、也不想额外维护服务器存储资源、处理硬盘故障、带宽扩容等运维工作,也可以直接选择成熟的S3兼容公有云对象存储服务,开箱即可使用,不需要额外做运维操作。如果你需要一个兼容S3协议、适合Cloudreve等网盘系统作为存储源、支持不限流量下载分发的对象存储服务,可以了解七彩云对象存储,适配Cloudreve的S3存储策略配置,接入门槛低,适合中小站长和开发者快速实现网盘资源扩容。
七、FAQ
1. 配置完成后测试连接失败,应该怎么排查?
首先根据Cloudreve返回的错误提示判断原因:如果是连接超时优先检查Endpoint是否为公网地址、Cloudreve所在服务器是否能正常ping通该Endpoint;如果是认证错误优先核对AccessKey、SecretKey、Region、Bucket四个核心参数是否填写正确,有没有多带空格;如果是权限错误则检查对应密钥的存储桶权限是否配置正确。
2. 已经存储在Cloudreve本地的历史文件可以迁移到新配置的第三方对象存储吗?
可以,Cloudreve管理员后台的文件管理模块自带存储策略迁移功能,选择需要迁移的文件或目录,目标存储策略选择刚配置的S3存储即可自动完成迁移,迁移过程中原有文件的访问链接不会失效,用户无感知。
3. 配置第三方对象存储后,会影响原有文件的访问吗?
不会,原有存储在本地或者其他存储策略的文件依然会按照原有路径正常访问,只有新上传的文件(或者手动迁移后的文件)才会存储到新配置的第三方对象存储中,用户使用体验不会有任何变化。
4. 可以同时配置多个第三方对象存储作为Cloudreve的存储源吗?
可以,Cloudreve支持添加多个不同的存储策略,你可以针对不同用户组、不同文件大小、不同文件类型分配不同的存储策略,比如大文件存到成本更低的归档存储、高频访问的小文件存到标准存储,实现资源的分层存储,降低整体存储成本。
八、总结
Cloudreve配置第三方S3兼容对象存储实现资源扩容的整体流程简单清晰,只需要提前准备好S3接入的核心参数,在后台完成配置和测试即可上线,全程不需要修改代码,普通站长和开发者半小时内即可完成配置。这种方案非常适合网盘存储资源不足、本地服务器下载带宽不够的站点使用,既可以降低本地服务器的存储和带宽成本,也可以借助对象存储的分布式架构优势提升用户的文件下载、在线预览体验,适用于个人网盘、团队协作网盘、资源分享类站点等多种场景。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网