一、结论
Cloudreve对接S3兼容存储桶的核心逻辑是提前准备好Endpoint、AccessKey、SecretKey、Bucket、Region等S3接入必填信息,在Cloudreve后台存储策略配置页选择S3兼容类型填写对应参数,测试连通性后分配给对应用户组即可使用,全程无需修改代码,普通站长10分钟左右即可完成配置。
二、准备工作
操作前需要提前准备好以下内容,避免配置过程中中断:
- 已完成部署、可以正常访问的Cloudreve站点(开源版、商业版均支持)
- S3兼容对象存储服务的有效账号
- 已提前创建完成、权限配置符合业务需求的存储桶(Bucket)
- 存储桶对应的Endpoint地址、AccessKey、SecretKey、Region信息
- 已给AccessKey开通存储桶的读写、删除等必要操作权限
- 若使用自定义访问域名,需提前完成域名解析和备案(国内节点需要)
- 1个小于10MB的测试文件(图片、文档均可),用于验证配置有效性
三、操作步骤
1. 登录Cloudreve后台管理面板,进入左侧菜单栏的「存储策略」页面,点击右上角的「新建存储策略」按钮,在弹出的存储类型选择列表中选中「S3兼容」选项,点击下一步,结果是进入S3存储专属的配置表单页面。
2. 填写核心接入参数,依次填入提前准备好的Endpoint、AccessKey、SecretKey、Bucket名称、Region字段,若存储服务有特殊的路径访问要求,比如需要使用路径风格访问,按照服务提供方的要求勾选对应选项,结果是完成S3连接的核心参数配置。
3. 配置存储业务规则,根据自身业务需求设置文件存储路径规则、单文件大小上限、允许上传的文件类型白名单/黑名单,同时填写存储桶的访问域名,可以选择存储服务自带的默认域名,也可以填写自己绑定的自定义域名,结果是完成存储策略的业务规则约束。
4. 配置高级权限选项,根据场景选择是否开启文件签名认证、是否允许公共读、是否开启断点续传、是否开启分块上传等功能,公共资源站、下载站类场景可以开启公共读权限降低访问消耗,私人网盘类场景建议开启签名认证保障文件安全,结果是完成存储的权限和高级功能配置。
5. 测试连通性并保存配置,点击页面底部的「测试」按钮,Cloudreve会自动执行连接存储桶、上传测试文件、访问测试文件、删除测试文件四个操作,所有测试项均显示成功后点击保存,结果是该S3存储策略正式生效。
6. 分配存储策略给对应用户组,进入「用户组」管理页面,选择需要使用该存储的用户组,在存储策略绑定选项中选中刚才创建的S3存储策略,保存配置,结果是对应用户组的成员即可使用该S3存储上传文件。
7. 全流程验证,使用普通用户账号登录Cloudreve前台,上传提前准备的测试文件,尝试在线预览、下载、生成分享链接操作,确认所有功能正常运行,结果是整个对接流程验证完成,可正式投入使用。
四、常见错误
- Endpoint填写错误:不少用户容易把Endpoint误填为存储桶的访问域名,或者多带了存储桶后缀、漏写HTTP/HTTPS前缀,解决建议是直接复制存储服务官方给出的标准Endpoint地址,不要自行修改内容。
- AccessKey或SecretKey错误:复制密钥时前后带了空格、使用了已经过期或被禁用的密钥都会导致连接失败,解决建议是重新生成新的密钥对,复制时注意清除前后空格,确认密钥没有设置过期时间。
- Bucket名称不匹配:填写的Bucket名称和实际创建的名称大小写不一致、拼写错误会导致找不到存储桶,解决建议是直接从存储服务的Bucket列表中复制名称,不要手动输入。
- Region填写不匹配:部分S3兼容服务有固定的Region值,填错会导致连接失败,也有部分服务不需要填写Region,解决建议是查看存储服务的官方文档,按照要求填写,没有特殊要求的可以填写auto或留空测试。
- 权限不足上传失败:存储桶没有给对应AccessKey开通读写权限、存储桶设置了防盗链禁止了Cloudreve站点域名都会导致上传失败,解决建议是检查存储桶权限配置,给使用的AccessKey开通PutObject、GetObject、DeleteObject等必要权限,把Cloudreve站点域名加到防盗链白名单中。
- 上传成功但无法访问:自定义域名没有完成备案或解析配置错误、存储桶没有开启公共读权限都会导致文件无法访问,解决建议是检查域名解析是否生效、是否完成ICP备案,公共文件存储需要开启存储桶公共读权限,私有文件存储需要配置Cloudreve的签名访问功能。
五、示例说明
以下是通用配置参考,所有字段均需填写对应存储服务提供的真实信息,不要直接照搬示例内容:
| 配置项 | 填写说明 |
| --- | --- |
| Endpoint | 填写S3存储服务官方提供的访问地址,不要包含存储桶名称,不要漏写HTTP/HTTPS前缀 |
| AccessKey | 填写存储服务生成的访问密钥ID,直接复制避免手动输入错误 |
| SecretKey | 填写和AccessKey配对的密钥字符串,注意不要泄露给第三方 |
| Bucket | 填写已经创建完成的存储桶名称,注意大小写和拼写完全一致 |
| Region | 按照存储服务要求填写,没有特殊要求的可以填写auto或者留空 |
| 路径风格访问 | 按照存储服务要求勾选,部分服务需要开启该选项才能正常连接 |
| 访问域名 | 填写存储桶对应的访问域名,可以是服务自带域名或者自定义绑定的域名 |
| 公共读权限 | 公共资源类场景勾选,私人存储类场景不勾选 |
六、更简单的方案
如果不想自行搭建MinIO等私有S3存储服务,也不想花费精力维护底层存储的服务器运维、容量扩容、数据备份、带宽调度等工作,可以直接选择成熟的第三方S3兼容云对象存储服务,开箱即可使用,无需额外维护基础设施。如果你需要一个兼容S3协议、适合作为Cloudreve存储源、图床、网盘系统和下载分发场景的对象存储服务,可以了解 七彩云对象存储,接入流程有明确指引,不需要复杂的权限配置,适合新手站长快速完成对接。
七、FAQ
1. Cloudreve开源版和付费版都支持对接S3存储桶吗?
是的,不管是开源版本还是商业付费版本的Cloudreve,都原生支持S3兼容存储的对接,配置步骤完全一致,没有功能差异。
2. 对接S3存储后,文件是存储在Cloudreve服务器还是S3存储桶中?
对接完成后,所有用户上传的文件都会直接存储在S3存储桶中,不会占用Cloudreve自身服务器的存储空间,文件的下载流量也会直接走S3存储的带宽,不会消耗Cloudreve服务器的带宽资源。
3. 可以同时对接多个S3存储桶到同一个Cloudreve站点吗?
可以,你可以创建多个S3类型的存储策略,分别对应不同的存储桶,然后给不同的用户组分配不同的存储策略,实现不同用户使用不同存储资源的需求。
4. 对接S3存储后需要额外开启CDN吗?
如果你的用户分布在全国各地,且对文件访问速度要求较高,可以开启S3存储对应的CDN加速服务,将访问域名换成CDN域名即可,Cloudreve侧不需要额外修改其他配置。
八、总结
Cloudreve对接S3存储桶的整体流程非常轻量化,仅需完成参数准备、后台配置、连通测试、权限分配四个核心环节即可落地,不需要任何代码修改,有基础建站经验的站长和开发者都可以独立完成操作。这种对接模式不仅可以大幅降低Cloudreve站点自身的存储和带宽成本,还可以借助对象存储的高可用、弹性扩容能力,满足个人网盘、团队资源共享、公共资源站、下载站等不同场景的存储需求,适合各类规模的Cloudreve站点使用。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网