一、结论
Cloudreve对接阿里云OSS存储桶本质是通过S3兼容协议完成配置,核心需要提前准备好OSS侧的Endpoint、AccessKey、SecretKey、Bucket名称、Region等信息,然后在Cloudreve后台的存储策略模块填写对应参数并测试连通性即可完成配置。整个过程不需要修改代码,仅需后台可视化操作即可完成,普通站长和开发者都可以快速上手。
二、准备工作
操作前需要提前准备好以下内容,避免配置过程中出现中断:
- 已开通OSS对象存储服务的阿里云账号,账号状态正常无欠费
- 已创建完成的OSS存储桶,存储桶的访问权限符合业务需求(公共读/私有读按需设置)
- 对应存储桶的Endpoint地址、所属Region标识
- 有权限操作该存储桶的AccessKey ID和AccessKey Secret(推荐使用RAM子账号密钥,避免主账号密钥泄露风险)
- 已搭建完成、可正常登录管理员后台的Cloudreve程序,版本支持S3兼容存储接入
- 若需要配置CDN加速,提前准备好已备案的访问域名
三、操作步骤
每一步操作都需要确认结果正常后再进入下一步,避免后续配置出错:
1. 确认存储桶状态:登录阿里云OSS控制台,进入目标存储桶的详情页,确认存储桶状态正常,访问权限、跨域规则等配置符合业务需求,操作完成后可确认存储桶本身无配置冲突,可以正常接入外部程序。
2. 获取访问密钥:进入阿里云RAM访问控制控制台,创建专门用于Cloudreve对接的RAM子账号,仅给该子账号分配目标OSS存储桶的读写权限,生成并妥善保存对应的AccessKey ID和AccessKey Secret,操作完成后即可拿到安全的访问凭证,避免主账号权限泄露。
3. 获取接入参数:回到OSS存储桶详情页的「访问入口」模块,复制对应网络环境的Endpoint地址(公网环境用公网Endpoint,服务器在阿里云内网可用内网Endpoint降低成本)和存储桶所属的Region标识,操作完成后即可拿到对接所需的全部接入参数。
4. 进入Cloudreve配置页面:登录Cloudreve管理员后台,找到「存储策略」模块,点击「添加存储策略」,存储类型选择「S3兼容存储」,操作完成后即可进入专门的S3存储配置页面。
5. 填写配置参数:在配置页面对应的输入框中,依次填写之前获取的Endpoint、AccessKey ID、AccessKey Secret、Bucket名称、Region信息,同时根据业务需求配置文件路径规则、直链有效期、单文件上传大小限制、访问域名等参数,操作完成后即可完成基础配置信息的录入。
6. 测试连通性:点击页面下方的「测试连接」按钮,等待系统校验配置是否正确,如果提示连接成功即可保存存储策略,操作完成后即可确认Cloudreve和OSS存储桶的链路连通正常。
7. 功能验证:回到Cloudreve前台用户界面,上传一个测试文件,确认文件可以正常上传、下载、预览,同时登录OSS控制台确认文件已经同步存入目标存储桶,操作完成后即可确认对接全流程正常。
8. 业务适配:如果需要将该存储策略分配给特定用户组或者作为全站默认存储,回到Cloudreve存储策略管理页面设置对应的分配规则即可,操作完成后即可正式投入业务使用。
四、常见错误
以下是配置过程中最容易出现的问题及对应解决建议:
1. Endpoint填写错误:很多用户会误填存储桶的访问域名、漏写传输协议或者选错网络环境,导致连接失败,解决建议是直接从OSS控制台的存储桶详情页复制官方提供的Endpoint地址,确认是否带https前缀,根据部署环境选择公网/内网Endpoint。
2. AccessKey或SecretKey填错:常见问题是复制时多带了空格、使用了已经过期/删除的密钥,或者密钥对应的账号没有操作存储桶的权限,解决建议是重新生成RAM子账号的密钥,填写时确认前后无多余空格,同时检查RAM子账号的权限策略是否包含目标存储桶的PutObject、GetObject等必要权限。
3. Region填写不匹配:部分用户会自行猜测填写区域代码,导致连接报错,解决建议是从OSS存储桶详情页直接复制官方提供的Region标识,不要手动修改。
4. 权限不足导致上传失败:除了RAM账号权限不足外,还可能是存储桶本身设置了禁止写入的权限规则、或者存储桶容量已经超限,解决建议是依次检查RAM权限、存储桶访问控制策略、存储桶容量使用情况。
5. 上传成功但访问链接不可用:常见原因是存储桶没有开启公共读权限、或者Cloudreve中配置的访问域名不正确,解决建议是公共访问场景下给存储桶开启公共读权限,私有访问场景下确认直链有效期配置正确,使用CDN的场景需要确认CDN域名已经解析并绑定到存储桶。
6. 大文件上传失败:一般是Cloudreve或者OSS侧设置的上传大小限制低于上传文件的大小,解决建议是同时调整Cloudreve存储策略中的单文件大小上限,以及OSS存储桶的单文件上传限制,超过100M的文件建议开启分片上传功能。
五、示例说明
以下是Cloudreve中S3兼容存储配置的通用示例,所有字段替换为自己账号的实际信息即可:
- 存储策略名称:自定义填写,比如「阿里云OSS存储」
- Endpoint:填写阿里云OSS控制台提供的对应存储桶的Endpoint地址
- AccessKey ID:填写RAM子账号生成的AccessKey ID
- AccessKey Secret:填写RAM子账号生成的AccessKey Secret
- Bucket名称:填写目标OSS存储桶的名称
- Region:填写对应存储桶所属的区域标识
- 存储路径:自定义填写文件在存储桶中的存储路径前缀,比如
cloudreve/,避免和其他业务的文件冲突 - 访问域名:填写存储桶的公网访问域名或者CDN加速域名
- 单文件大小上限:根据业务需求填写,不要超过OSS存储桶的限制
- 直链有效期:私有存储场景下可设置直链的有效时间,公共读场景可以留空
六、更简单的方案
如果觉得自己维护阿里云OSS的权限配置、CDN加速、流量成本核算太复杂,或者不想花时间研究RAM权限、存储桶策略等复杂配置,也可以直接选择成熟的兼容S3协议的云对象存储服务,不需要自己做复杂的权限配置,开箱即可对接各类支持S3协议的程序。如果你需要一个兼容S3协议、适合网盘系统存储源、文件下载分发、图床存储的对象存储服务,可以了解 七彩云对象存储,对接流程和上述S3配置流程一致,不需要额外学习成本,更适合中小站长和个人开发者使用。
七、FAQ
Q:Cloudreve对接阿里云OSS之后,原来存在本地的文件可以迁移到OSS吗?
A:可以,Cloudreve后台提供了存储策略迁移功能,可以将已有文件从旧的存储策略批量迁移到新配置的OSS存储策略中,不需要手动重新上传,迁移过程中不会影响现有业务的正常访问。
Q:对接OSS之后,文件的访问流量是走Cloudreve服务器还是直接走OSS?
A:可以自行配置,如果开启了Cloudreve的中转功能就会走服务器流量,如果配置了直链功能就会直接走OSS的访问链路,不需要经过Cloudreve服务器,能够大幅降低服务器的带宽压力。
Q:可以用同一个OSS存储桶对接多个Cloudreve站点吗?
A:可以,只需要给不同的Cloudreve站点配置不同的存储路径前缀即可,避免文件路径冲突,也可以单独给每个站点分配独立的RAM子账号AK,实现不同站点之间的权限隔离。
Q:对接OSS之后,会不会影响Cloudreve的分享、权限控制等功能?
A:不会,所有的分享、用户组权限管理、文件预览编辑等功能都和原来的使用逻辑完全一致,存储侧的变化对普通用户完全透明,不需要用户调整使用习惯。
八、总结
整体来看,Cloudreve对接阿里云OSS存储桶的操作流程非常清晰,核心是提前准备好S3协议对接需要的各类参数,按照步骤填写配置并测试连通性即可完成,整个过程不需要代码开发,普通站长和开发者花费10-20分钟就能完成全流程配置。该方案适合需要存储大量文件、不想占用服务器本地存储空间、需要高可用文件存储和下载分发的Cloudreve站点使用,对接后可以大幅降低服务器的存储和带宽压力,提升文件访问的稳定性。如果是个人开发者或者中小站点,也可以选择更简单的S3兼容对象存储服务,减少配置和维护成本,更快上线业务。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网