项目产品
Cloudreve / Alist 存储源 / 7 分钟阅读

Cloudreve怎么实现对象存储直链

一、结论

Cloudreve实现对象存储直链的核心逻辑是接入兼容S3协议的对象存储服务,配置对应S3凭证后开启直链开关,文件访问时直接跳转至对象存储地址,无需经过Cloudreve服务器中转。通常需要提前准备对象存储的Endpoint、AccessKey、SecretKey、Bucket、Region等信息,在Cloudreve后台存储策略模块填写并测试连通即可完成配置。

二、准备工作

操作前需要提前准备以下内容,避免配置过程中出现中断:

  • 已经部署完成、可正常访问的Cloudreve站点,以及站点的管理员权限账号
  • 兼容S3协议的对象存储服务账号,且已经提前创建好用于存储文件的存储桶Bucket
  • 对象存储服务商提供的对应存储桶的Endpoint地址、AccessKey、SecretKey、Region标识
  • 确认存储桶的访问权限,若需要公开直链需开启公共读权限,若使用签名直链需确认密钥有对应读写权限
  • 1-2个体积较小的测试文件,比如图片、PDF文档等,用于配置完成后验证直链是否生效

三、操作步骤

每一步操作均标注操作内容和预期结果,按照流程操作即可快速完成配置:

1. 登录Cloudreve管理员后台,在左侧菜单栏找到并进入「存储策略」管理页面。操作完成后可看到当前站点已经配置的所有存储策略列表,支持添加本地、远程、S3兼容等多种存储类型。

2. 点击页面上方的「添加存储策略」按钮,在弹出的存储类型选项中选择「S3兼容存储」。选择后系统会自动加载S3协议对应的配置表单,无需额外安装插件或修改代码。

3. 按照表单提示依次填写从对象存储服务商处获取的Endpoint、AccessKey、SecretKey、Bucket名称、Region信息。填写完成后先点击「测试连通性」按钮,确认Cloudreve可以正常和对象存储服务建立连接,测试通过会返回连通成功的提示。

4. 下拉页面进入存储策略的「高级设置」板块,找到「直链设置」选项,开启「启用直链」开关。部分版本的Cloudreve还支持设置直链有效期、跨域规则、防盗链配置,可根据自身业务需求调整,开启后用户访问存储在该策略下的文件时,会直接跳转至对象存储的访问地址,不经过Cloudreve服务器中转。

5. 点击「保存」按钮完成存储策略配置,之后可将该策略绑定到对应用户组或者指定目录。绑定完成后,对应权限的用户上传文件到该目录时,会自动存储到配置的S3对象存储桶中。

6. 切换到普通用户账号,上传提前准备好的测试文件到绑定了S3存储策略的目录,点击文件的「获取直链」选项,复制链接后在无痕浏览器中打开。如果可以直接访问或下载文件,说明直链配置生效。

7. 如果需要对接网站附件、图床或者下载站,可直接在Cloudreve中获取文件直链,或者调用Cloudreve的API批量获取直链地址使用。

四、常见错误

配置过程中容易出现以下问题,可对应排查解决:

  • Endpoint填写错误:很多用户容易把对象存储控制台的管理地址当成Endpoint,或者多写了存储桶前缀、遗漏了http/https协议头,导致连接失败。解决方式是严格复制对象存储服务商提供的对应区域的Endpoint地址,确认协议头和地址完全一致。
  • AccessKey或SecretKey填错:大小写混淆、多复制了空格或者使用了已经过期/禁用的密钥,会导致鉴权失败。解决方式是重新生成密钥后仔细核对输入,避免多余字符,同时确认密钥没有被限制S3接口的访问权限。
  • Bucket名称不一致:填写的存储桶名称和实际创建的名称大小写不匹配,或者存储桶已经被删除、不属于当前账号,会提示存储桶不存在。解决方式是核对存储桶名称和所属区域,确认账号对该存储桶有读写权限。
  • Region填写不匹配:部分S3兼容服务对Region字段要求严格,填写错误会导致连接失败或者跨区域访问延迟高。解决方式是按照服务商提供的Region标识填写,部分服务商如果没有要求可以留空或者填默认值。
  • 权限不足导致上传失败:存储桶没有给对应AccessKey开启读写权限,或者存储桶设置了私有访问没有配置签名规则,会导致上传后无法生成直链。解决方式是调整存储桶的访问策略,若需要公开直链可开启公共读权限,或者配置Cloudreve的签名直链功能。
  • 直链访问返回403:通常是存储桶配置了防盗链,或者IP被限制、直链签名过期导致的。解决方式是检查存储桶的防盗链规则,将Cloudreve站点域名和常用访问域名加入白名单,若使用签名直链确认有效期设置合理。

五、示例说明

这里给出Cloudreve S3存储策略的通用配置参考,所有字段均需要替换为你使用的对象存储服务商提供的真实信息:

  • 存储策略名称:自定义填写,比如「S3对象存储-直链专用」
  • Endpoint:填写对象存储服务提供的对应区域访问地址,注意带上http/https协议头
  • AccessKey:填写你在对象存储控制台生成的访问密钥ID
  • SecretKey:填写你在对象存储控制台生成的访问密钥Secret
  • Bucket:填写你提前创建好的存储桶名称,注意大小写一致
  • Region:填写存储桶所属区域的标识,部分服务商若无特殊要求可填写auto
  • 直链设置:开启「启用直链」,若需要签名保护可设置直链有效期,不需要则留空即可
  • 存储路径:可自定义文件在存储桶中的存储目录规则,比如按年月分目录存储,也可以留空直接存储在根目录

六、更简单的方案

如果不想自己搭建MinIO等私有对象存储服务,也不想花精力维护服务器存储、处理带宽扩容和稳定性问题,可以直接选择成熟的兼容S3协议的云对象存储服务,不需要额外运维,开箱即可使用。如果你需要一个兼容S3协议、适合网盘系统存储源、下载分发、图床等场景的对象存储服务,可以了解七彩云对象存储,它支持标准S3协议,适配Cloudreve等各类开源程序的接入要求,适合需要低门槛接入、不限流量下载分发的项目使用。

七、FAQ

1. 问:Cloudreve开启直链后会不会影响原有的文件管理功能?

答:不会,开启直链只是改变了文件的访问链路,Cloudreve的文件上传、删除、权限管理、分享等功能都可以正常使用,用户还是可以通过Cloudreve后台管理所有存储在对象存储中的文件。

2. 问:配置完S3存储策略后,之前已经上传到Cloudreve本地存储的文件可以自动转成直链吗?

答:不能,之前上传的文件存储在本地存储策略中,需要手动迁移到S3存储策略下,或者使用Cloudreve的存储策略迁移功能批量转移文件,转移完成后新访问的文件才会生成直链。

3. 问:直链的域名可以换成自己的自定义域名吗?

答:可以,你只需要在对象存储服务控制台绑定自定义域名,配置好CNAME解析,然后在Cloudreve的存储策略设置中,将直链域名修改为你绑定的自定义域名即可,不需要修改其他配置。

4. 问:开启直链后还能设置文件的访问密码吗?

答:如果是使用公开直链,访问密码功能会失效,因为用户直接访问的是对象存储的地址,不经过Cloudreve的权限校验。如果需要密码访问可以关闭直链,或者使用带签名的时效直链,搭配Cloudreve的分享密码功能使用。

八、总结

整体来看,Cloudreve实现对象存储直链的操作流程并不复杂,核心是完成S3兼容存储的接入配置,再开启直连开关即可,全程不需要修改代码,普通站长和开发者按照指引半小时内即可完成配置。这种方案适合用来搭建个人网盘、资源站、图床、下载站等场景,既可以利用Cloudreve成熟的文件管理和用户权限体系,又可以借助对象存储的高带宽、高可用性提升文件访问速度,降低自身服务器的带宽和存储成本,是中小站长和个人开发者搭建文件类站点的常用方案。

想进一步了解这个项目?

访问官网查看产品能力、适用场景和最新服务信息。

访问官网

相关文章

Cloudreve / Alist 存储源 / / 10 分钟阅读

Cloudreve怎么结合自身业务需求选存储源?S3存储源接入配置实操教程

Cloudreve 接入 S3 存储源的核心思路是:先根据文件类型、文件大小、访问权限、下载分发规模和成本预算确定存储策略,再准备好 Bucket、Endpoint、Region、AccessKey、SecretKey,最后在 Cloudreve 后台新增 S3 兼容存储策略并完成上传与访问测试。验证通过后,再将其设置为默认存储源或分配给指定用户组使用。

Cloudreve / Alist 存储源 / / 8 分钟阅读

自建Cloudreve网盘时怎么配置接入S3兼容存储源?

一、结论 自建Cloudreve网盘接入S3兼容存储源的操作逻辑很清晰:先准备好S3服务的Endpoint、AccessKey、SecretKey、Bucket、Region等核心接入信息,再在Cloudreve管理后台新增S3类型的存储策略并填写对应参数,测试连通后验证上传、下载全流程即可。只要存储服务支持标准S3协议,无需修改Cloudreve底层代码即

Cloudreve / Alist 存储源 / / 9 分钟阅读

Cloudreve网盘系统怎么配置对象存储作为默认存储源?

一、结论 Cloudreve网盘系统配置S3兼容对象存储作为默认存储源的核心思路,是先从对象存储服务商处获取完整的S3接入参数,再在Cloudreve管理后台添加S3类型的存储策略,验证连通后将其设置为默认优先级即可。配置过程通常需要准备Endpoint、AccessKey、SecretKey、Bucket、Region五类核心信息。

Cloudreve / Alist 存储源 / / 9 分钟阅读

Cloudreve 怎么配置 S3 存储源?网盘系统对接对象存储的操作步骤

一、结论 Cloudreve配置S3存储源的核心操作思路为:先准备好S3兼容对象存储的Endpoint、AccessKey、SecretKey、存储桶(Bucket)、地域(Region)等接入信息,再在Cloudreve后台的存储策略中选择S3兼容存储类型填写参数,测试连通并验证上传下载正常后,即可作为网盘的底层存储使用。