当您需要加速OSS上的静态资源时,可以通过阿里云CDN加速OSS域名,实现静态资源的访问加速。通过本文您可以详细了解CDN加速OSS的应用场景,以及通过CDN控制台实现CDN加速OSS的操作方法。

前提条件

背景信息

阿里云CDN配合精准的调度系统,将您对静态资源的请求分配至最近节点,使您以最快的速度读取到所需的资源,有效解决网络拥塞问题,提高资源的访问响应速度。

OSS源站上存储的静态资源包括静态脚本、图片、附件、音频和视频。当终端用户请求访问或下载静态资源时,CDN对OSS源站上的静态资源进行加速,源站上的资源缓存到CDN的加速节点,系统自动调用离终端用户最近的CDN节点上已缓存的资源,实现资源加速。CDN加速OSS的架构图如下所示。场景图
OSS作为CDN的源站,通过CDN加速分发,用户通过CDN节点就近获得文件,架构优势如下:
  • 用户访问网站资源,全部通过CDN,降低源站压力。
  • 使用CDN流量,单价低于直接访问OSS产生的外网流出流量。
  • 从距离客户端最近的CDN节点获取资源,减少网络传输距离,保证静态资源传输质量。

操作步骤

  1. 在CDN控制台上,添加OSS域名。
    1. 登录CDN控制台
    2. 在左侧导航栏,单击域名管理
    3. 域名管理页面,单击添加域名
    4. 添加域名页面,完成以下配置。

      第一部分:配置基础信息

      intl
      参数 说明
      加速域名
      注意事项如下:
      • 加速域名一般使用子域名或泛域名,且仅支持全英文小写的域名,不支持中文域名加速。

        示例:您的域名是example.com,加速域名可以是example.com的子域名,例如cdntest.example.com

      • 支持泛域名加速,例如*.example.com。泛域名加速规则,请参见泛域名加速规则
        说明
        • 泛域名和子域名必须在同一个账号下。您添加域名时CDN会进行检查,如果泛域名或子域名被添加到不同账号,系统会报错。如果您无法自行解决,请提交工单处理。
        • 如果泛域名未被添加到任何CDN账号下,则支持在多个账号下添加不同的子域名。
      • 加速域名不允许重复添加。

        如果出现域名已添加的提示,请检查您的域名是否已经添加到其他云产品中,例如视频点播、视频直播、全站加速、SCDN和视频监控,您也可以提交工单处理。

      • 每个阿里云账号最多可以添加50个加速域名。

        如果您域名的总带宽日均峰值大于50 Mbps,且业务无风险,可提交工单申请增加域名个数。

      • 加速内容必须合法且符合CDN业务规范。详细信息,请参见使用限制
      业务类型
      • 图片小文件:适用于电商类、网站类、游戏图片类等小型的静态资源加速场景。
      • 大文件下载:适用于大于20 MB的静态文件加速场景。
      • 视音频点播:适用于音频或视频文件加速场景。
      • 全站加速:适用于含有大量动静态内容混合,且多为动态资源请求的加速场景。

        当业务类型选择为全站加速时,您需根据界面提示前往全站加速控制台添加域名并进行相关配置。具体操作,请参见添加加速域名

      加速区域
      选择加速区域。加速区域为仅中国内地全球时,加速域名必须备案,您可以登录阿里云ICP代备案管理系统完成备案。由于工信部备案系统存在数据延迟,刚完成备案的域名请在8小时后再配置。
      说明 不同的加速区域价格不一样,请根据您的实际需求选择。计费详情,请参见CDN定价
      • 仅中国内地:全球用户访问均会调度至中国内地加速节点进行服务。
      • 全球:全球用户访问将会择优调度至最近的加速节点进行服务。
      • 全球(不包含中国内地):全球用户访问均会调度至中国香港、中国澳门、中国台湾以及其他国家和地区的加速节点进行服务。
      第二部分:配置源站信息源站信息
      参数 说明
      源站信息 选择OSS域名,并选择您在OSS控制台上绑定的自定义域名。为Bucket绑定自定义域名的操作方法,请参见绑定自定义域名
      优先级

      源站优先级支持设置主备,主优先级大于备优先级。用户请求通过阿里云CDN回源时,会优先回源到优先级为主的源站地址。

      例如,有A、B两个源站,A源站的优先级为主,B源站的优先级为备,则用户请求通过阿里云CDN回源时会优先回源到A源站,如果A源站出现故障,将会回源到B源站,当A源站恢复正常后会从B源站切换回A源站。

      权重

      当多个源站的优先级相同时,阿里云CDN会按照源站的权重分配用户请求回源到不同源站的比例,实现按权重的负载均衡。权重的取值范围是1~100,数值越大,源站分配到的用户请求比例越高。

      例如,有A、B两个源站,两个源站的优先级都是主,A源站的权重为80,B源站的权重为20,则用户请求将会按照8:2的比例在A、B两个源站之间分配。

      端口
      根据您源站的支持情况,设置回源端口,允许设置的端口范围为1~65535。当前仅支持以HTTP协议回源到自定义端口,如果您需要以HTTPS协议回源到自定义端口,请提交工单处理。
      • 如果您配置了自定义端口,需关闭协议跟随回源功能,自定义端口才能生效。关闭回源协议的操作方法,请参见配置回源协议
      • 当源站选择OSS域名时,回源端口是否支持自定义端口,取决于OSS产品。
    5. 单击下一步
      您首次在CDN控制台添加一个新域名时,需要完成域名归属权验证。如果您之前已经验证通过,请忽略该步骤。具体操作,请参见验证域名归属权
    6. 等待人工审核。

      审核时间预计需要1~2个工作日,如果您的源站是阿里云ECS或OSS,则审核速度会加快,您也可以提交工单加急审核。

      加速域名审核通过后,您可以在域名管理页面查看,状态显示为正常运行,表示添加成功。

  2. 在CDN控制台上,获取CNAME。
    1. 登录CDN控制台
    2. 在左侧导航栏,单击域名管理
    3. 域名管理页面,复制加速域名对应的CNAME地址。
      域名管理
  3. 在阿里云云解析DNS控制台上,配置CNAME。
    本文以阿里云云解析DNS为例,为您介绍配置CNAME的方法。
    1. 登录云解析DNS控制台
    2. 域名解析页面,找到您的域名,在域名右侧单击解析设置
    3. 单击添加记录,添加CNAME记录。
      说明
      • 精准域名的CNAME解析优先级大于泛域名的CNAME解析。如果您的加速域名为泛域名,且主机记录设置为星号(*)时,需删除泛域名下所有已生效的二级域名的解析记录。
      • 添加CNAME记录时如果遇到冲突问题,建议您更换一个加速域名或调整冲突的记录。
      添加记录
      参数 说明 填写样例
      记录类型 选择CNAME。 CNAME
      主机记录 主机记录指加速域名的前缀。
      • 加速域名为testcdn.aliyun.com,主机记录为testcdn
      • 加速域名为www.aliyun.com,主机记录为www
      • 加速域名为aliyun.com,主机记录为@
      • 加速域名为*.aliyun.com,主机记录为*
      解析线路 默认线路。 保持默认
      记录值
      输入加速域名对应的CNAME地址。
      说明 一个加速域名对应一个CNAME地址,二级域名不能使用主域名的CNAME地址。如果您要加速二级域名,需要将二级域名也添加到CDN上并解析到对应的CNAME地址,或者在CDN上添加泛域名,泛域名的CNAME可以被二级域名使用。添加泛域名或二级域名,请参见添加加速域名
      all.example.com.w.kunlunsl.com
      TTL TTL为缓存时间,数值越小,修改记录后各地生效时间越快,默认为10分钟。 保持默认
    4. 单击确认,完成添加。
      成功配置CNAME且生效后加速服务会立即生效。新增CNAME记录实时生效,修改CNAME记录在10分钟后生效(具体生效时间长短取决于域名DNS解析配置的TTL时长,10分钟为TTL的默认时长)。成功配置CNAME后状态更新约有10分钟延迟,CDN控制台的域名列表中可能仍显示“未配置CNAME”,请先忽略。
  4. 在本地PC机上,验证CNAME配置是否生效。
    1. 打开Windows操作系统中的cmd程序。
    2. 在命令行中ping加速域名,如果返回的解析结果和CDN控制台上该加速域名的CNAME值一致,则表示CDN加速已经生效。
      CNAME生效验证
  5. 在OSS控制台上,打开加速域名的CDN缓存自动刷新开关。
    说明 执行本操作后如果Object有更新,OSS会自动将更新后的Object刷新到CDN的缓存节点上,实现文件更新后实时刷新缓存的功能。当您解除Bucket与用户域名之间的绑定关系后,OSS控制台将不支持CDN缓存自动刷新操作,您可以在CDN控制台进行配置。操作方法,请参见刷新和预热资源
    1. 登录OSS管理控制台
    2. 在左侧导航栏,单击Bucket列表
    3. Bucket列表中,单击目标Bucket名称。
    4. 在存储空间的导航栏中,单击传输管理 > 域名管理
    5. 域名管理页签,打开加速域名的CDN缓存自动刷新开关。
      域名管理

后续步骤

CNAME配置生效后,如果您直接通过CDN加速域名访问OSS上的资源,则会提示错误AccessDenied,可以通过如下方法访问OSS资源:
  • 通过网页访问OSS资源

    可以通过CDN加速域名+文件访问路径的方式访问。例如,当CDN加速域名为example.com,需要访问根目录下的文件123.jpg时,访问地址为http://example.com/123.jpg

  • 通过客户端访问OSS资源

    可以将客户端中OSS的Bucket域名配置为CDN加速域名,再通过CDN加速域名访问。