本文介绍如何通过源站OFFLAOD搭建CDN镜像源站服务,实现一次回源或备源能力。

前提条件

  • 请确保您已经开通源站OFFLOAD服务(仅对邀测用户开放)。
  • 请确保您已经开通OSS服务/或ENS存储服务(ENS存储服务需要申请,请通过您的商务或者TAM进行申请)。

设置CDN镜像源站(实现备源能力)

  1. 前往阿里云CDN控制台的域名管理列表
  2. 选中目标域名,配置源站信息。
    将您的IDC主站(例如,IP 192.168.0.1)设为主源站,OSS源站或ENS存储源站(例如,bucketname.oss-cn-hangzhou.aliyuncs.com)设为备源站。源站配置方法,请参见配置源站
    说明 备份源站您可以设置多个,阿里云CDN最多支持设置20个源站。
    一次回源
    设置完成后,CDN回源会从源站OFFLOAD回源到您的IDC主站,如果IDC主站出现故障,CDN将秒级切换到您的备源站,保证您的CDN访问不受影响。当您使用备源的回源架构时,您至少有3份以上的文件存储在CDN的缓存系统和存储系统中。

设置CDN镜像源站(实现一次回源)

重要 源站访问切换时,所有回源达到IDC源站,请确保您的源站带宽能力在短时间内具备此场景的灾备能力,否则可能会引起IDC源站的访问故障。
  1. 前往阿里云CDN控制台的域名管理列表
  2. 选中目标域名,配置源站信息。
    将您的OSS源站设为主源站(例如,bucketname.oss-cn-hangzhou.aliyuncs.com),IDC主站设为备源站(例如,IP 192.168.0.1)。源站配置方法,请参见配置源站
    说明 备份源站您可以设置多个,阿里云CDN最多支持设置20个源站。
    主备源站
    设置完成后,CDN回源会从源站OFFLOAD回源到OSS站点,若OSS不可访问时,可以直接访问您的IDC主站。

回源重试、回源超时、源站探测相关说明

  • 回源重试顺序:
    • 对域名基础信息的源站地址列表内的源站地址按优先级从高到低进行重试。
    • 如果有优先级相同的源站地址,则按权重比例进行重试。
  • 回源重试的颗粒度:
    • 重试是IP地址级别的,如果源站是域名,将会对域名解析出的所有IP地址进行重试,只有域名下的所有IP都连接失败后才会访问其他可用源站。
    • 重试时系统会自动过滤dead table中不可用的源站。
  • 回源重试状态码:
    • CDN节点在收到源站响应的5xx状态码的时候进行重试。
  • 回源超时时间:在源站主动响应重试状态码时,CDN节点收到重试状态码之后就会重试。如果没有收到源站主动响应的重试状态码,则会遵循回源超时时间处理逻辑,达到超时时间之后就会触发CDN节点重试。
    • 源站TCP建连超时:10秒(如果要调整,需要填写信息申请配置)。
    • 源站写超时:默认为30秒(源站建连后写入内容超时)。
    • 源站读超时:默认为30秒(源站建连后在一定时间内没有把CDN节点请求的内容完整响应回去)。
    • 源站写超时时间和源站读超时时间可以通过配置回源HTTP请求超时时间来调整。
  • 源站探测逻辑:
    • TCP连接异常:如果CDN节点与源站IP地址之间连续两次出现TCP连接不可用(建连失败或连接超时),CDN会从可用源站地址列表中剔除该源站IP地址,并将该IP地址加入dead table中,这样后续的回源请求就不会去访问这个源站IP地址;此后CDN节点会每隔5秒使用TCP建连去探测一次该源站IP地址,如果建连成功,则将该源站IP地址恢复到可用源站地址列表中。
    • TCP连接正常:如果CDN节点与源站IP地址之间TCP连接正常,但收到源站响应的重试状态码(例如:5xx),此时虽然会触发重试的逻辑,但该源站IP地址仍然还在可用源站地址列表中,下次访问还会按权重去请求该源站(即TCP四层连接正常的情况下,七层HTTP请求异常不会主动屏蔽源站IP地址,如果需要在七层HTTP请求异常的情况下主动屏蔽源站IP地址,则需要填写信息申请配置)。