一、结论
Cloudreve对接S3协议存储源的核心操作是提前准备好S3服务的Endpoint、AccessKey、SecretKey、Bucket、Region等核心参数,在Cloudreve后台的存储策略配置页选择S3兼容类型,填写对应参数并测试连通性即可完成配置,全程不需要修改代码,普通站长也能快速完成。
二、准备工作
操作前需要提前准备好以下内容,避免配置过程中断:
- 已经搭建完成、可正常访问的Cloudreve站点,以及站点的管理员权限账号
- 任意兼容S3协议的对象存储服务账号
- 在对象存储服务中提前创建好的存储桶Bucket,且已经配置好基础读写权限
- 对应存储桶的Endpoint接口地址、AccessKey、SecretKey、Region区域代码
- 若需要自定义访问域名,需提前完成域名备案、解析及存储桶绑定操作
- 1个小于10MB的测试文件,用于后续验证上传、下载功能是否正常
三、操作步骤
1. 进入Cloudreve存储策略管理页
使用管理员账号登录Cloudreve后台,在左侧菜单栏找到「存储策略」选项并点击进入,结果是可以看到已有存储策略列表和「添加存储策略」的功能按钮。
2. 选择S3兼容存储类型
点击「添加存储策略」按钮,在弹出的存储类型选择列表中找到「S3兼容」选项并选中,结果是进入S3存储的专属参数配置表单页面。
3. 填写S3服务核心参数
按照表单提示依次填入提前准备好的Endpoint、AccessKey、SecretKey、Bucket名称、Region信息,同时根据自身业务需求配置存储路径规则、单文件大小限制、允许上传的文件类型等附加参数,结果是所有必填项都填写完整,没有空白或格式错误的内容。
4. 配置访问控制和外链规则
根据存储桶的权限设置选择对应的访问模式,公共读存储桶可以选择直接公开访问,私有存储桶可以选择开启签名外链,同时配置外链有效期、CDN加速域名(如有)等参数,结果是访问规则和存储桶的权限配置完全匹配,避免后续出现访问403的问题。
5. 保存配置并测试连通性
所有参数填写完成后先点击「测试连接」按钮,等待系统验证参数是否正确、能否正常连接到S3存储服务,结果是系统提示连接成功,说明所有参数配置无误。
6. 上传测试文件验证全链路功能
将刚添加的S3存储策略设置为默认存储策略,或者给指定用户组分配该存储策略的使用权限,用普通用户账号登录Cloudreve前端,上传提前准备好的测试文件,依次尝试预览、下载、生成分享链接操作,结果是所有操作都能正常完成,文件可以正常访问。
7. 配置业务场景规则
如果是用来搭建网盘、资源站、素材库等场景,可以进一步配置Cloudreve的分享规则、用户流量限制、单用户存储配额等参数,结果是存储策略的使用规则完全匹配实际业务需求。
四、常见错误
1. Endpoint填写错误
常见问题是多写了协议前缀、后缀的Bucket路径,或者误用了存储桶的文件访问域名而不是官方提供的S3接口Endpoint,解决建议是回到对应S3服务的控制台,复制官方给出的标准Endpoint地址,不要自行修改,同时注意服务商要求的http/https前缀是否需要填写。
2. AccessKey或SecretKey填错
常见问题是复制密钥时多带了空格、换行符,或者使用了已经过期、被禁用的密钥,解决建议是重新生成一对新的AccessKey和SecretKey,复制时注意不要包含多余字符,同时确认该密钥的权限包含对应S3存储桶的读写权限。
3. Bucket名称不匹配
常见问题是填写的存储桶名称和实际创建的名称大小写不一致,或者误填成了存储桶的访问域名,解决建议是直接复制S3控制台中存储桶的标准名称,确保大小写、字符完全一致。
4. Region填写不匹配
常见问题是填错了存储桶所属的区域代码,或者部分S3服务不需要填Region却填了错误内容,解决建议是查看S3服务的官方文档,确认对应存储桶的Region代码,如果服务商明确说明不需要填写则留空或者填默认值。
5. 权限不足导致上传失败
常见问题是存储桶设置了私有读写但Cloudreve配置了公开访问,或者AccessKey没有对应的存储桶读写权限,解决建议是检查存储桶的访问权限配置,同时确认AccessKey的权限策略包含对应Bucket的s3:GetObject、s3:PutObject等必要权限。
6. 上传成功但访问链接不可用
常见问题是没有配置存储桶的跨域规则,或者外链域名没有在S3服务中备案、绑定,解决建议是在S3控制台配置允许Cloudreve站点域名的跨域请求,同时确认绑定的自定义域名已经完成备案和解析。
五、示例说明
以下是Cloudreve S3存储策略配置表单的通用填写示例,所有参数均替换为通用说明,可根据自己的实际服务商信息对应填写:
- 存储策略名称:自定义填写,比如「S3对象存储-资源站」
- Endpoint:填写对应S3服务商提供的标准接口地址
- AccessKey:填写你在S3服务商后台生成的访问密钥ID
- SecretKey:填写对应AccessKey的密钥字符串
- Bucket:填写你提前创建好的存储桶名称
- Region:填写存储桶所属区域的官方代码,无要求可填默认值
- 存储路径:自定义填写,比如
{year}/{month}/{filename},也可以留空使用默认路径 - 访问模式:根据存储桶权限选择「公开访问」或「私有签名」
- 自定义CDN域名:如果绑定了CDN则填写加速域名,否则留空使用默认域名
六、更简单的方案
如果不想自己搭建MinIO等私有S3存储,也不想花精力维护服务器存储节点、处理扩容、安全和带宽成本问题,可以直接选择成熟的兼容S3协议的云对象存储服务,不需要自己维护底层基础设施,开通即可直接对接使用。如果你需要一个兼容S3协议、适合程序接入、网盘系统存储源、图床和不限流量下载分发的对象存储服务,可以了解 七彩云对象存储,它可以直接作为Cloudreve的存储源使用,不需要额外的适配配置。
七、FAQ
Q1:Cloudreve对接S3存储后,之前已经上传到本地存储的文件可以迁移到S3吗?
可以,Cloudreve后台自带存储策略迁移功能,你可以在存储策略管理页创建迁移任务,将原有存储策略里的文件批量迁移到新的S3存储策略中,迁移过程不会影响用户正常访问,迁移完成后所有文件的访问链接会自动更新。
Q2:对接S3存储后,文件的访问流量是走Cloudreve服务器还是直接走S3服务?
可以自主配置,如果选择重定向模式访问,用户请求文件时会直接跳转到S3的访问地址,流量走S3服务,不会消耗Cloudreve服务器的带宽;如果选择代理模式,流量会经过Cloudreve服务器转发,适合私有存储桶需要做额外权限控制的场景。
Q3:Cloudreve免费版支持对接S3协议存储源吗?
支持,无论是免费版还是付费版的Cloudreve都自带S3兼容存储的对接功能,不需要额外安装插件,管理员直接在后台按照流程配置即可使用。
Q4:对接S3存储后可以设置单个文件的最大上传大小吗?
可以,在添加S3存储策略的时候,可以在配置表单里设置该存储策略支持的单个文件最大大小、允许上传的文件类型,同时也可以针对不同用户组设置不同的上传配额和流量限制,灵活适配不同的业务需求。
八、总结
整个Cloudreve对接S3协议存储源的流程非常简单,只需要提前准备好S3服务的核心参数,在后台完成几个步骤的配置即可,全程不需要修改代码,普通站长和开发者都能在10分钟内完成配置。这种对接方式适合用Cloudreve搭建个人网盘、团队共享盘、资源下载站、素材库等场景,不仅可以节省本地服务器的存储空间,还能利用对象存储的高可用、高扩展性和专业下载分发能力,提升用户的访问速度,降低服务器的运维成本。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网