文档中心>内容分发网络 CDN

远程鉴权

最近更新时间:2024-01-08 10:02:01

我的收藏

远程鉴权

远程鉴权仅提供2023年11月8日前已使用远程鉴权功能的用户可用,如控制台不可见此功能可前往 EdgeOne 接入,详见 边缘安全加速平台 EO > 边缘函数 > 示例函数 > 远程鉴权

配置场景

为了避免客户的资源被非法用户访问,腾讯云除了支持在 CDN 边缘进行 高级时间戳鉴权 之外,也同时支持将请求转发至客户指定的远程鉴权服务器,由该鉴权服务器对用户请求进行校验,CDN 根据远程鉴权服务器返回的校验结果来决定是否继续提供服务。
远程鉴权的请求流程如下:



1. 终端用户对资源发起请求。
2. CDN 将请求同步转发至远程鉴权服务器,包括请求头及鉴权参数。
3. 远程鉴权服务器返回鉴权结果。
4. CDN 节点根据鉴权结果来决定是否继续响应该用户的请求。
注意
CDN 节点根据远程服务器返回的状态码来判断是否鉴权通过,鉴权通过的状态码为200/206/304,其他状态码均为鉴权失败。鉴权通过则放行(返回200),失败则拦截(返回403)。
当前仅支持同步远程鉴权,即 CDN 收到远程鉴权服务器返回鉴权结果后才能进行响应。
部分海外平台不支持远程鉴权配置,修改域名加速区域可能导致远程鉴权功能失效。

配置指南

登录 CDN 控制台,在菜单栏里选择域名管理,单击域名右侧管理,进入域名配置页面,访问控制中即可进行远程鉴权相关的配置:
远程鉴权地址:支持 HTTP/HTTPS 协议,可填写域名或者IP地址。
请求方法:向远程服务器发起请求的方法,支持遵循终端用户请求方法,或者指定 GET/POST/HEAD 等请求方法。
鉴权文件类型:设置鉴权文件生效的范围,支持针对全部内容/指定文件后缀/指定文件目录/指定文件开启远程鉴权。
鉴权超时时长:设置远程鉴权服务器的响应超时时间,最大不超过30,000毫秒。
超时执行动作:设置远程鉴权超时后的执行动作,默认动作为放行。



示例说明

假设客户的加速域名为 www.example.com,设置的远程鉴权配置如下:
远程鉴权地址:www.remoteauth.com
请求方法:遵循终端用户请求方法。
鉴权文件类型:全部内容。
鉴权超时时长:1500毫秒。
超时执行动作:拦截。
此时用户请求响应的流程示例如下:
1. 用户发起 GET 请求:http://www.example.com/v001/test.txt?token=Gf6Gq04ymjdSTXusvTmh8yalO82YsuKUQb63ToXOFc&e=1467565695283&sign=854124740723b575a7cfa4fc40f0be30
2. CDN 收到请求,向远程鉴权服务器发起 GET 请求:
http://www.remoteauth.com/v001/test.txt?token=Gf6Gq04ymjdSTXusvTmh8yalO82YsuKUQb63ToXOFc&e=1467565695283&sign=854124740723b575a7cfa4fc40f0be30
3. 远程鉴权服务器返回状态码 200。
4. CDN 判断鉴权通过,返回状态码 200,并正常响应内容。