回源概述

回源指当客户端请求资源时,如果CDN节点上未缓存该资源,或者部署预热任务时,CDN节点会回源站获取资源。您还可以根据业务的实际需要来配置回源相关功能。

回源工作原理

  1. 客户端发起请求:用户访问网站时,客户端(例如浏览器)会向CDN节点发送一个请求,请求的URL指向CDN加速域名。

  2. CDN节点检查自身缓存是否有请求的资源。如果有,直接返回给客户端,实现快速响应。

  3. 回源请求:如果缓存中没有请求的资源,CDN节点根据回源策略向源站发起请求。

  4. 回源获取资源:源站接收请求后,根据URL和参数生成并返回资源。

  5. 缓存资源:CDN节点获取资源后,将其缓存,以便下次直接返回。

  6. 返回响应:CDN节点将资源返回给客户端,完成请求响应过程。

功能分类

功能大类

功能点

描述

相关链接

OSS私有Bucket回源

OSS私有Bucket回源

如果您的源站是阿里云对象存储OSS,并且存储空间(Bucket)的读写权限为私有时,必须授予 CDN 相应的访问权限,CDN 节点才能回源并获取 Bucket 中的资源。

OSS私有Bucket回源

回源请求

回源协议

指定CDN节点回源时使用的协议。支持设置为HTTPHTTPS协议跟随(与客户端请求CDN节点的协议保持一致)。

配置回源协议

回源HOST

回源HOST用于指定回源请求访问的源站服务器上的具体站点。当源站服务器上存在多个网站时,通过配置回源HOST可确保CDN节点获取到正确的资源。支持配置全局默认HOST,也支持为不同源站配置不同HOST。

回源URL

当源站资源路径变更但客户端访问URL需保持不变时,可使用回源URL改写功能。CDN节点回源时,会根据设置的规则将请求的URL路径改写为新路径。

重写回源URL

回源参数

配置规则用于改写回源URL中的请求参数,支持删除所有参数、保留指定参数或删除指定参数。

重写回源参数

回源请求头

自定义CDN节点回源时发送的HTTP请求头,支持添加、修改或删除Header字段。该功能常用于向源站传递用户信息、请求来源等自定义信息。

修改出站请求头

回源SNICommon Name

当回源协议为HTTPS时,通过配置回源SNI(Server Name Indication),可指定TLS握手过程中CDN节点请求的服务器域名。此功能适用于源站IP上托管多个HTTPS站点(使用不同证书)的场景。

同时,可开启Common Name白名单,使CDN在回源时校验源站证书的Common NameSubject Alternative Name是否与指定的SNI一致,以增强回源安全性。

回源响应

修改回源响应头

配置规则,在CDN节点将资源响应给客户端前,对从源站收到的HTTP响应头进行添加、修改或删除。例如,添加Access-Control-Allow-Origin等跨域相关的响应头。

修改入站响应头

301/302跟随

当源站返回301302状态码时,可配置CDN节点代替客户端向重定向后的地址请求资源,以减少客户端的请求次数。

配置回源301/302跟随

其他功能

超时时间

设置CDN节点在回源建连和数据接收过程中的最长等待时间。如果超过该时间源站未响应或数据未传输完成,CDN将断开连接并向客户端返回5xx错误。设置合理的超时时间有助于快速失败,避免客户端长时间等待。

配置回源HTTP请求超时时间

高级回源

当存在多个源站且需要将不同请求路由至不同源站时,可使用高级回源功能。高级回源可基于请求参数、客户端IP等条件,将请求路由到指定的源站。

高级回源

IPv6回源

如果源站支持IPv6,可开启IPv6回源功能。开启后,CDN节点将优先使用IPv6协议访问源站。支持配置在IPv6回源失败时自动降级到IPv4,以保证服务可用性

配置IPv6回源