参考资料

  1. CDN带宽封顶及规则条件参数设置指南
  2. 如何配置默认回源SNI?
  3. 重写访问URL
  4. 状态码过期时间
  5. 支持请求no-cache刷新 设置教程
  6. 推荐您使用 EdgeOne Web 防护功能的自定义规则,配置防护策略,具体操作
  7. 跟随CDN服务 与 跟随源站有什么区别
  8. CDN鉴权方式详解及设置教程

常见CDN启用防盗链的参数设置

在使用内容分发网络(CDN)时,启用防盗链功能是保护用户访问内容安全的重要措施。通过设置防盗链,可以防止未经授权的复制、下载或分发内容,同时确保用户访问的来源合法。以下是详细说明的参数设置,帮助您在CDN中启用防盗链功能并实现相关功能:


一、启用防盗链的目的

  1. 防止未经授权访问:保护具体内容不被非法复制或下载。

  2. 限制访问来源:确保用户只能从合法来源访问内容。

  3. 提升用户体验:避免因非法下载导致的卡顿或错误。


二、常见CDN启用防盗链的参数设置

1. 允许直接访问网站

  • 参数名称allow directing to website

  • 作用:允许客户端直接访问网站的根路径(如 /),而无需进入CDN缓存层。

  • 示例配置:

    {
      "allow_directing_to_website": true
    }
  • 说明:主要用于需要客户端直接访问网站的场景(如有特定的跳转需求)。


2. 来源域名允许一致

  • 参数名称require_same556

  • 作用:强制客户端只能从与实际域名相同的服务器访问内容,防止跨域名恶意访问。

  • 示例配置:

    {
      "require_same556": true
    }
  • 说明:通过此参数,CDN服务器会验证客户端请求的域名是否与实际的域名一致,否则拒绝请求。


3. 允许的来源域名

  • 参数名称allowed_domains

  • 作用:指定允许客户端从哪些域名访问内容。

  • 示例配置:

    {
      "allowed_domains": ["example.com", "www.example.com"]
    }
  • 说明:配置允许的来源域名列表,可以根据实际需求扩展或调整。


4. 禁止的来源域名

  • 参数名称disallowed_domains

  • 作用:禁止客户端从哪些域名访问内容。

  • 示例配置:

    {
      "disallowed_domains": ["malicious-site.com"]
    }
  • 说明:配置禁止的来源域名列表,确保敏感内容不被非法访问。


5. 同时检查Origin

  • 参数名称check_origin

  • 作用:强制验证客户端请求的原生域名(Origin)是否一致,防止恶意请求。

  • 示例配置:

    {
      "check_origin": true
    }
  • 说明:CDN会在请求CDN缓存时验证客户端请求的原生域名是否与实际一致,否则拒绝请求。


6. 限制URL

  • 参数名称限制 URL(根据CDN平台具体名称调整)

  • 作用:通过匹配 URLs 的特定规则(如路径、子域等),限制客户端可以访问的内容。

  • 示例配置(以 AWS S3 CDN 为例):

    {
      "限制 URL": {
        "匹配规则": {
          "子域": ["example.com"],
          "路径": ["/*"],
          "端口": ["80"],
          "限制": true
        }
      }
    }
  • 说明:根据需求设置匹配规则,限制客户端可以访问的内容。


三、注意事项

  1. 配置顺序:CDN通常采用JSON格式,参数需要按照优先级排列。

  2. 测试配置:在正式启用防盗链之前,建议在测试环境进行充分的配置和测试,确保所有参数设置正确。

  3. 根据场景调整:不同的场景可能需要不同的配置,例如某些情况下允许直接访问网站,而另一些情况下则需要严格限制来源域名。


四、总结

通过配置上述参数,您可以实现以下功能:

  • 允许客户端直接访问网站。

  • 禁止非 legitimately 来自的域名访问内容。

  • 验证客户端请求的原生域名和资源路径,确保访问来源合法。

  • 限制客户端可以访问的内容,保护敏感信息。

根据具体的CDN平台(如 Cloudflare、AWS S3 CDN 等),参数名称和配置方式可能会有所不同,建议参考CDN平台的官方文档进行详细配置。