融合 CDN

  • 回源鉴权

    最近更新时间:2018-01-10 09:55:40

    一. 概览

    如上图所示流程:

    1. 用户请求到 CDN 节点;
    2. CDN 节点将用户请求原封不动的转发给鉴权服务器;
    3. 鉴权服务器根据请求头中的鉴权参数等给出鉴权结果;
    4. CDN 节点未命中向源站获取文件;
    5. 源站根据请求响应内容给 CDN ,同时 CDN 缓存内容;
    6. CDN 节点根据鉴权结果将内容响应给最终用户;

    二. 使用说明

    开启设置

    打开域名配置详情,找到访问控制 -> 回源鉴权,点击修改配置:


    注意:如果域名回源七牛私有 bucket ,只用点开启就可以了,后面的参数不用设置,终端用户访问完全兼容七牛私有资源访问格式

    设置介绍

    1. 配置回源鉴权地址

    鉴权地址就是用户的鉴权 http 服务器的对外可访问的地址。

    2. 设置鉴权请求方法

    用户的鉴权 http 服务器支持的请求方法,现在支持 GET,POST,HEAD。

    3. 设置鉴权参数

    鉴权参数为用户鉴权服务器端需要的 URL 参数的 KEY , 配置的 URL 参数会从终端用户访问资源(CDN 边缘节点)时所带的 URL 参数。

    采集并过滤后,发送给用户鉴权服务器;同时这些参数在回源时也会带上。配置格式请参考样例。

    注意:

    • 终端用户访问资源时的请求头信息(request header)会全部传给用户的鉴权服务器;
    • 如果用户鉴权服务不是通过 URL 参数鉴权,而是通过请求头信息中的某些字段,上面的鉴权参数可以不用设置

    4. 设置鉴权返回状态码

    设置用户鉴权服务器的返回的 HTTP 状态码。

    5. 设置鉴权超时时间

    设置 CDN 发起鉴权请求到用户鉴权服务器的超时时间,超时后的行为请参考下一步。

    6. 设置鉴权超时或者其他情况下的鉴权结果

    这一步是设置 CDN 发起鉴权请求到用户的鉴权服务器超时(超时时间请参考上一步)后, CDN 是否返回鉴权成功还是鉴权失败。

    注意:

    • 这一步隐含了一个设置,当设置超时后为鉴权通过时,非鉴权失败的状态码(请参考第5步)都是判定为成功;
    • 反之,设置超时为鉴权失败时,非鉴权成功的状态码(请参考第5步)都是判定为失败。

    三. CDN 发起怎样的鉴权请求

    设置回源鉴权后,终端用户每次请求 CDN 边缘节点都会触发回源鉴权请求,该请求是 CDN 边缘节点直接访问用户设置的鉴权服务器。例如:

    鉴权配置:

    • 鉴权地址:http://www.userauth.com/auth
    • 鉴权方法:POST
    • 鉴权参数:key1

    终端用户请求:

    GET http://www.example.com/a.txt?key1=test1&key2=test2 HTTP/1.1 
    Accept-Language:zh-cn
    Connection:Keep-Alive
    Host:www.example.com
    User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
    Accept-Encoding:gzip,deflate
    

    鉴权请求:

    POST http://www.userauth.com/auth?key1=test1 
    Accept-Language:zh-cn
    Connection:Keep-Alive
    Host:www.example.com
    User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
    Accept-Encoding:gzip,deflate
    
    以上内容是否对您有帮助?
  • Close