阿里云对象存储服务(Object Storage Service, OSS)中的防盗链设置主要是指通过配置 HTTP 请求头部中的 Referer 字段来限制对存储在 OSS 上的资源的访问权限。这一机制允许您指定哪些域名可以作为合法来源引用 OSS 上的内容,从而阻止未经授权的网站或应用直接盗链您的资源

以下是设置 OSS 防盗链(基于 Referer)的基本步骤和注意事项:

  1. 登录阿里云 OSS 控制台:
    • 登录阿里云账号,进入对象存储 OSS 服务控制台。
  2. 选择目标Bucket:
    • 在 Bucket 列表页面找到您希望设置防盗链功能的 Bucket,点击其名称以进入 Bucket 详细配置界面
  3. 进入防盗链设置页面:
    • 在 Bucket 的左侧导航栏中找到并点击 "防盗链" 选项,进入防盗链的具体配置页面
  4. 配置 Referer 白名单或黑名单:
    • 在 "Referer防盗链" 页签中,点击 "修改配置" 按钮
    • 您可以选择设置 "白名单" ,这意味着只有出现在白名单中的域名发出的请求才能访问Bucket中的资源
    • 示例:若设置白名单域名为 https://www.example.com,则只有从 www.example.com 域名发起的请求所携带的正确 Referer 头才能访问 Bucket 内的文件
    • 或者,您可以设置 "黑名单" ,在黑名单中的域名将被禁止访问 Bucket 中的资源
  5. 设置是否允许空 Referer:
    • 根据实际需求,可以选择是否允许空 Referer。若不允许空 Referer,则意味着那些没有携带 Referer 头或者 Referer 为空的请求会被拒绝
  6. 保存并应用配置:
    • 完成设置后,确保保存配置,并注意这些设置可能需要一段时间才能在整个系统中生效

请注意,由于网络环境和应用程序的不同,防盗链配置可能会受到一些特殊情况的影响,例如在某些不发送 Referer 头或 Referer 行为不标准的环境下(比如微信小程序、部分浏览器的隐私模式等),防盗链设置可能需要进一步调整或结合其他安全措施来达到预期效果。同时,启用防盗链后,对于非 Web 环境下的访问(如 API 调用、本地开发工具预览等)可能需要额外处理,否则可能会影响到正常访问

如果你同时配置了 CND 那有可能你 OSS 的防盗链会不起作用, 这时候你需要同时配置 CND 的防盗链!!!