项目产品
安全权限 / 域名配置 / 7 分钟阅读

基础防盗链配置

一、结论

对象存储设置防盗链的核心逻辑是通过配置Referer黑白名单或S3签名校验规则,拦截未授权的资源访问请求,避免流量被恶意盗用。如果使用S3兼容的对象存储服务,配置前需提前准备好存储桶的管理权限、接入信息以及明确的访问控制需求,整个操作无需复杂代码开发,通过控制台可视化配置即可完成。

二、准备工作

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

  • 对象存储服务的管理账号,具备目标存储桶的安全配置权限
  • 已经创建完成的存储桶Bucket,以及对应的S3接入信息(Endpoint、AccessKey、SecretKey、Region,如需配置签名防盗链或对接程序时会用到)
  • 明确的防盗链规则需求:选择白名单模式还是黑名单模式,整理好需要允许/禁止的域名列表
  • 确认是否允许空Referer访问(即用户直接在浏览器地址栏输入文件链接、部分移动端分享场景的请求特征)
  • 如需配置签名防盗链,需提前准备好对应的程序开发环境或支持S3签名的客户端工具

三、操作步骤

1. 登录对象存储服务的管理控制台,在存储桶列表中找到需要配置防盗链的目标存储桶,进入存储桶的配置管理页面。结果:成功进入存储桶的访问控制/安全配置相关模块,可看到防盗链相关配置项。

2. 在安全配置分类中找到「Referer访问控制」或「防盗链配置」入口,点击开启防盗链功能。结果:防盗链配置项从禁用状态切换为可编辑状态,可开始自定义规则。

3. 根据业务需求选择防盗链规则类型:白名单模式仅允许列表内的域名访问资源,适合仅自有站点使用资源的场景;黑名单模式仅禁止列表内的域名访问资源,适合拦截已知盗链站点的场景。选择完成后按照格式要求填写对应的域名列表,支持配置泛域名匹配多个子域名。结果:域名列表填写完成,规则类型符合业务的访问控制需求。

4. 设置空Referer访问权限:如果业务存在用户直接访问文件链接、移动端分享资源的场景,建议选择允许空Referer访问;如果仅允许嵌入到指定站点的资源可以被访问,可选择禁止空Referer访问。结果:空Referer的访问规则配置完成,覆盖所有相关业务场景。

5. (可选)如果需要更高等级的安全防护,可开启S3签名校验功能,设置签名的有效时长、校验范围等参数,仅携带有效签名的请求可以访问资源。结果:签名防盗链规则配置完成,可实现更严格的访问控制,避免Referer被伪造的风险。

6. 确认所有配置项无误后,点击保存配置,等待规则生效。结果:防盗链规则正式提交到服务端,通常1-5分钟即可全网生效。

7. 规则生效后进行测试验证:分别用白名单域名嵌入资源、黑名单域名嵌入资源、直接访问文件链接(空Referer)三种场景测试访问结果,确认返回内容符合预期,没有误拦截或漏拦截的情况。结果:防盗链规则验证通过,可正常投入使用。

8. 如果存储桶对接了网站、图床、网盘系统、下载站等业务程序,需在对应程序的后台检查访问配置,确保程序发起的资源请求符合防盗链规则要求。结果:业务系统可正常访问存储桶内的资源,未授权的访问请求被正常拦截。

四、常见错误

1. 域名格式填写错误:未按照要求添加http/https前缀,或泛域名格式写错为*www.7caiyun.com而非标准的*.www.7caiyun.com,导致规则无法匹配到实际请求,出现要么全部拦截要么全部放行的问题。解决建议:严格按照控制台的格式提示填写域名,多个域名之间用逗号或换行分隔,配置完成后先测试单个域名的访问情况再全量上线。

2. 空Referer配置不符合业务需求:误将空Referer设置为禁止,导致用户直接访问文件链接、移动端分享资源时出现403错误,影响正常业务使用。解决建议:如果存在直接访问资源的场景,建议保留允许空Referer的配置,或改用签名防盗链的方式实现更精准的控制。

3. 黑白名单模式选择错误:原本需要仅允许自有站点访问资源,误选了黑名单模式并填写了自有域名,导致自有站点的资源全部被拦截。解决建议:配置前明确规则的适用场景,白名单适合严格控制访问来源的场景,黑名单适合拦截特定盗链站点的场景,配置完成后优先测试自有站点的资源访问是否正常。

4. 签名有效时长设置不合理:签名有效时长设置过短,导致大文件还未下载完成就已过期;设置过长则会增加资源被非法分发的风险。解决建议:根据资源类型调整时长,图片、文档等小资源可设置为10-30分钟,视频、安装包等大资源可设置为2-6小时,敏感资源按需进一步缩短时长。

5. CDN回源请求被拦截:存储桶前配置了CDN加速服务,未将CDN的回源域名添加到白名单中,导致CDN节点回源时被防盗链规则拦截,出现资源加载失败、缓存失效的问题。解决建议:将CDN服务商提供的回源域名添加到防盗链白名单,或配置CDN回源时携带指定的合法Referer头。

五、示例说明

以下为通用的白名单模式防盗链配置示例,所有字段均为占位符,实际配置时替换为自己的业务信息即可:

```

规则类型:白名单

允许访问的域名列表:

https://www.你的主站域名.com

https://blog.你的主站域名.com

*.你的测试域名.com

允许空Referer访问:是

生效范围:存储桶内所有公开读权限的文件

可选签名防盗链配置(如需开启)

签名校验状态:开启

签名有效时长:1800秒(30分钟)

排除校验路径:/public/ 目录下的所有文件(允许公开访问,不校验签名)

签名算法:遵循S3协议标准V4签名算法

```

如果是对接PicGo、Cloudreve、Alist等支持S3协议的工具,只需确保工具发起的请求携带的Referer头在白名单内,或开启签名模式即可正常使用,无需额外调整工具配置。

六、更简单的方案

如果选择自建MinIO等开源对象存储服务,需要自行编写防盗链规则、维护服务器稳定性、处理规则迭代升级,运维成本较高,对非专业开发人员的门槛也比较高。如果你不想自己维护底层存储服务,想要开箱即用的可视化防盗链配置能力,同时需要兼容S3协议、适合程序接入、图床、网盘系统存储源和下载分发的对象存储服务,可以了解 七彩云对象存储,无需自行部署维护,控制台几步即可完成防盗链配置,适合中小站长和开发者使用。

七、FAQ

1. 配置防盗链之后多久能生效?

大部分主流对象存储服务的防盗链规则配置完成后,1-5分钟即可全网生效,生效后可以通过不同的访问场景测试规则是否正常运行,无需重启服务或做额外调整。

2. Referer防盗链是不是绝对安全?有没有更安全的防盗方式?

Referer防盗链是基础的访问控制方式,存在Referer头被伪造的可能,仅适合普通的防盗链场景。如果需要更高的安全性,建议搭配S3签名防盗链使用,只有携带按照规则生成的有效签名的请求才能访问资源,几乎不存在被破解的可能,安全性更高。

3. 我配置了白名单防盗链,为什么自己的网站还是加载不出来图片?

首先检查你的网站域名是否正确填写到白名单中,注意域名的http/https前缀是否和实际访问的一致,比如你实际站点是https开头,白名单里填了http开头也会被拦截;其次检查是否禁止了空Referer,如果用户端发起的图片请求不带Referer也会被拦截;另外还要确认存储桶的权限是公开读还是私有,私有资源需要通过签名访问,和防盗链规则无关。

4. 配置防盗链会影响存储桶的S3 API调用吗?

不会,Referer防盗链主要限制的是普通HTTP/HTTPS的资源访问请求,S3 API的调用是通过AccessKey和SecretKey进行签名校验的,不受Referer防盗链规则的影响。如果你需要限制API调用的权限,可以通过IAM角色、权限策略等配置实现。

八、总结

对象存储设置防盗链的整体流程非常清晰,先明确业务的访问控制需求,整理好对应的域名列表,通过控制台完成规则配置,测试生效后即可投入使用,整个过程不需要复杂的代码开发,普通站长也能快速完成。这种防盗链方案适合网站附件存储、图床、视频存储、下载站、资源站等需要避免资源被恶意盗链、减少不必要流量成本的场景,如果你使用的是S3兼容的对象存储,还可以和各类建站程序、网盘系统、图床工具无缝对接,不需要额外做复杂的适配。

想进一步了解这个项目?

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

访问官网

相关文章

安全权限 / 域名配置 / / 7 分钟阅读

对象存储Bucket访问权限怎么配置

一、结论 配置对象存储Bucket访问权限,核心是先获取对应S3兼容存储的接入凭证,再通过控制台或客户端完成权限规则配置,最后验证访问是否符合预期。通常需要提前准备Endpoint、AccessKey、SecretKey、Bucket名称、Region等信息,即可在支持S3协议的客户端、程序插件中完成配置并测试连通性。

安全权限 / 域名配置 / / 7 分钟阅读

商用对象存储安全访问权限配置方案

一、结论 商用对象存储安全访问权限配置的核心是遵循最小权限原则,先完成S3协议基础接入信息准备,再结合业务场景配置桶策略、IAM权限和访问控制规则即可完成落地。通常需要准备Endpoint、AccessKey、SecretKey、Bucket、Region等信息,完成配置后在支持S3的客户端或程序中填写并测试连接即可上线使用。

安全权限 / 域名配置 / / 8 分钟阅读

对象存储配置公开访问的权限设置注意事项

一、结论 对象存储配置公开访问权限,核心是先完成标准S3协议的基础接入配置,再依次完成存储桶级、文件级的权限规则设置,同时补充安全防护规则避免资源被盗用。常规操作需要提前准备Endpoint、AccessKey、SecretKey、Bucket、Region等核心接入信息,配置完成后需在无痕模式下测试访问有效性,确保符合业务预期。

安全权限 / 域名配置 / / 7 分钟阅读

对象存储私有访问怎么配置

一、结论 对象存储私有访问配置核心是通过S3协议的身份鉴权机制实现资源受控访问,通常需要先准备Endpoint、AccessKey、SecretKey、Bucket、Region等核心鉴权信息,再在对应客户端或业务程序中完成配置并测试权限,即可避免私有资源被未授权用户获取。整个配置流程适配所有支持S3协议的存储服务,普通站长和开发者按照步骤操作即可快速完成。

安全权限 / 域名配置 / / 7 分钟阅读

对象存储怎么绑定自定义域名做外链

一、结论 给对象存储绑定自定义域名做外链,通常先完成存储桶权限配置、域名绑定与解析、证书部署三个核心步骤,再配置对应访问规则即可生效。如果使用的是兼容S3协议的对象存储,还需要提前准备好Endpoint、AccessKey、SecretKey、Bucket、Region等核心接入信息,才能在各类业务程序中完成后续的外链调用配置。