UDFScript介绍
用户自定义脚本(User Defined Script,简称UDFScript)是一个可供您快速实现CDN定制化配置的工具箱,当CDN的标准配置无法满足您的业务需求时,可以使用UDFScript通过简单的编程实现定制化业务需求。
UDFScript原理
使用UDFScript前的请求处理过程:
- 网关收到客户端请求时,执行控制台标准化配置对请求进行处理。
- 如果符合缓存规则,网关将处理后的请求转发给缓存组件,由缓存组件命中后响应,或者请求回源。
- 如果不符合缓存规则,则由网关处理后,请求回源。
- 源站返回响应内容,网关响应给客户端。
使用UDFScript后的请求处理过程:
- 网关收到客户端请求时,执行业务脚本,对用户的请求进行业务处理。
- 网关处理完业务脚本的业务逻辑后,继续处理控制台标准化的配置。
- 如果符合缓存规则,网关将处理后的请求转发给缓存组件,由缓存组件命中后响应,或者请求回源。
- 如果不符合缓存规则,则由网关处理后,请求回源。
- 源站返回响应内容,网关响应给客户端。
使用说明
UDFScript由全局字典、全局task脚本、业务脚本三部分组成:
- 全局字典用来定义一块共享内存区域,全局task脚本可以从全局字典中读取数据,也可以把结果保存到全局字典中,业务脚本只能从全局字典读取数据。
- 全局task脚本用于定义后台周期性任务(非客户端请求触发),比如周期性同步远端配置数据到本地全局字典中。
- 业务脚本可以快速自定义控制台未支持的功能,例如定制化鉴权、请求头改写等。
您可以仅使用业务脚本实现简单的自定义功能,也可以把全局字典、全局task脚本、业务脚本三个结合起来使用,自定义更强大的功能。
典型应用场景
场景 | 描述 |
---|---|
定制化鉴权 | 一般是进行防盗链校验,只有校验通过的请求才放行,校验不通过返回403。 |
请求头/响应头控制 | 对请求参数、请求头、响应头等变量进行灵活修改。 |
回源url改写 | 某些场景下,需要对回源的url进行改写。支持以下三种方式: 1.单独修改uri(?之前的部分)。 2.单独修改查询参数(?之后的部分)。 3.整个url替换。 |
重定向 | 针对某些情况,返回新的访问url给客户端,同时返回302状态码。 |
缓存控制 | 为了提高获取文件的速度,需要将请求的文件内容缓存在边缘cdn,实现就近拉取。可以设置缓存文件缓存标识(key)和缓存时间。 |
限速 | 根据不同的时间段对文件请求进行限速,比如早晚高峰时间限速500k,空闲时段限速1024k。在不影响观看效果的同时尽量服务更多用户。 |
缓存内容改写 | 根据业务需要,将缓存的内容在响应给用户时进行改写。 |
分区域分运营商回源 | 当您有多个源站,需要分区域分运营商回源实现源站负载均衡时,可使用UDFScript设置分区域分运营商回源策略。 |