CDN加速

文档中心 网页加速 操作指南 自定义头部防盗链

自定义头部防盗链

更新时间:2020-12-15 09:45:41

功能介绍

网宿支持通过配置 自定义头部防盗链规则实现访问控制。
通过对HTTP头部值进行规则判断,按需放行或拒绝用户访问。

操作步骤

  1. 登录网宿CDN控制台,选择域名所在的产品线。
  2. 选择域名,单击操作列中的讲真,我再也不想加班了!
  3. 在自助配置界面选择:访问控制- 自定义头部防盗链,单击添加。
  4. 配置访问控制的生效范围,即配置针对哪些请求进行访问控制。此处提供4种生效范围供选择:讲真,我再也不想加班了!
参数 描述
指定常用类型 可选项有全部文件首页
  • 全部文件:指针对该域名下的所有请求都会进行访问控制。
  • 首页:表示仅针对http://domain/或https://domain/这种根目录格式的请求进行访问控制。
文件类型 可选择常用类型或自定义文件类型,多个文件类型之间以英文分号分隔。例如:ace;aac。表示此配置对此类文件类型均会生效
指定URI 可以设定针对URI的请求进行访问控制。
不以“http://”或“https://”开头,仅配置URL中的URI部分;多条换行分隔。例如:完整URL为:http://www.test.com/browse/index.html,则配置内容为:/browse/index.html。
【指定URI填写模式】:具体类型选择指定URI后,可以根据指定URI填写模式选择精准匹配还是忽略参数匹配
目录 可以设定仅部分目录下的请求进行访问控制。目录必须以“/”开头和结尾,由字母、数字及部分特殊符号(包含下划线、减号、百分号、点)任意组合;多个目录换行分隔。
例如:/file1/123/和/file2/1%1/表示http://加速域名/file1/123/和http://加速域名/file2/1%1/两个目录及目录下所有文件。
  1. (可选)针对上述配置生效范围,可以选择配置例外的文件类型或者目录。讲真,我再也不想加班了!

    参数 描述
    例外的类型 可选项有目录文件类型
    例外的目录/例外的文件类型 设置例外的文件类型或者目录。

    例如生效范围是域名下的所有请求,但是又希望png类型的文件不用受限制。则具体类型选择指定常用类型,并在指定常用类型下拉框中选择全部文件;同时在例外的类型中选择文件类型,并在例外的文件类型下拉框中选择png

  2. 配置访问控制策略。
    1) 设置HTTP头的黑名单:
    讲真,我再也不想加班了!
    2) 设置HTTP头的白名单:
    讲真,我再也不想加班了!

    参数说明:

    参数 描述
    头域类型 即针对上述生效范围内的请求,配置允许或者禁止。
    头域 设置允许/禁止的HTTP头的名称,一条规则只能配置一个头部
    允许的头域值 设置允许的HTTP头的值,多个换行分隔。 当HTTP头值匹配此处配置值时,则允许访问。
    禁止的头域值 设置禁止的HTTP头的值,多个换行分隔。 当HTTP头值匹配此处配置值时,则进行禁止。
  3. 配置其他参数。
    讲真,我再也不想加班了!

    参数 描述
    来源 可选择客户端或服务器,选择客户端则在客户端请求方向做防盗链;选择服务端则在源响应方向;
    优先级 配置了多条访问控制规则,系统按优先级大小先后执行,数字大的优先级高。
    控制动作 访问校验不通过的请求,是选择禁止还是跳转。其中, 禁止:访问校验不通过的请求,系统返回403。跳转:访问校验不通过的请求,系统返回跳转的页面。跳转的页面在跳转到URL中进行配置。
  4. 配置完毕,单击确认,然后单击下一步。

  5. 为了避免影响线上业务,建议先预部署测试效果,单击预部署。

  6. 预部署成功后,可以获取到对应的测试节点,可以host节点进行测试。
    讲真,我再也不想加班了!

  7. Host测试后,确保配置无误,则单击直接部署,预计需要3-5分钟的部署时间。

配置示例

场景一: 配置黑名单
实现场景:如果客户端请求头中带Test-Header,且值为key1或key2,则禁止访问,其他情况则允许访问。配置如下图所示:
讲真,我再也不想加班了!

场景二: 配置白名单
实现场景:如果客户端请求头中带Test-Header,且值为key1或key2,则允许访问,其他情况则禁止访问。配置如下图所示:
讲真,我再也不想加班了!

注意事项

  1. 白名单只能配置一条规则,如果有多个头部值需要设置为白名单,请写到一条规则中。
  2. 请勿同时自助配置黑白名单,否则容易造成业务异常。如需配置,请联系网宿技术支持进行评估。如下图配置,会导致所有访问被拒绝。原因如下:
    1)Test-Header值为key1的请求,匹配第一条黑名单规则,访问会被拒绝。
    2)Test-Header值为非key1的请求,匹配第一条未被拒绝,但匹配第二条白名单规则时被拒绝.因为第二条白名单规定只有Test-Header值为key1的请求才允许访问。
    讲真,我再也不想加班了!