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

前提条件

背景信息

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

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

本文以阿里云云解析DNS为例,介绍配置CNAME的操作方法。

操作步骤

  1. 在CDN控制台上,添加OSS域名。
    1. 登录CDN控制台
    2. 在左侧导航栏,单击域名管理
    3. 域名管理页面,单击添加域名
    4. 根据下表填写域名信息,并选择源站类型为OSS域名
      china
      参数 说明
      加速域名
      输入您的加速域名,例如example.com。注意事项如下:
      • 加速域名一般使用子域名或泛域名,且仅支持全英文小写的域名,不支持中文域名加速,例如cdntest.example.com
      • 支持泛域名加速,例如*.example.com。泛域名加速规则,请参见泛域名加速规则
        说明
        • 泛域名和子域名必须在同一个账号下。您添加域名时CDN会进行检查,如果泛域名或子域名被添加到不同账号,系统会报错。如果您无法自行解决,请提交工单处理。
        • 如果泛域名未被添加到任何CDN账号下,则支持在多个账号下添加不同的子域名。
      • 加速域名不允许重复添加。

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

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

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

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

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

      • 安全加速:适用于网站易遭受攻击且必须兼顾加速的业务场景。

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

      源站信息 选择OSS域名,并选择您在OSS控制台上绑定的自定义域名。操作方法,请参见绑定自定义域名
      端口 根据您源站的支持情况,选择回源端口。
      • 80端口:CDN回源请求源站的80端口。
      • 443端口:CDN回源请求源站的443端口,源站需要支持HTTPS访问。
      加速区域 选择加速区域。加速区域为仅中国内地全球时,加速域名必须备案,您可以登录阿里云ICP代备案管理系统完成备案。由于工信部备案系统存在数据延迟,刚完成备案的域名请在8小时后再配置。
      说明 不同的加速区域价格不一样,请根据您的实际需求选择。计费详情,请参见CDN定价
      • 仅中国内地:全球用户访问均会调度至中国内地加速节点进行服务。
      • 全球:全球用户访问将会择优调度至最近的加速节点进行服务。
      • 全球(不包含中国内地):全球用户访问均会调度至中国香港、中国澳门、中国台湾以及其他国家和地区的加速节点进行服务。
    5. 单击下一步
      您首次在CDN控制台添加一个新域名时,需要完成域名归属权验证。如果您之前已经验证通过,请忽略该步骤。具体操作,请参见验证域名归属权
    6. 等待人工审核。

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

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

  2. 在CDN控制台上,获取CNAME。
    1. 登录CDN控制台
    2. 在左侧导航栏,单击域名管理
    3. 域名管理页面,复制加速域名对应的CNAME地址。
      域名管理
  3. 在阿里云云解析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记录会在72小时内生效。成功配置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加速域名为mydomain.cn,需要访问根目录下的文件123.jpg时,访问地址为http://mydomain.cn/123.jpg
  • 当您通过客户端访问OSS资源时,可以将客户端中OSS的Bucket域名配置为CDN加速域名,再通过CDN加速域名访问。