使用场景
现在越来越多的行业使用OBS存储图片、视频、软件包等静态资源文件,并将OBS作为网站、论坛、APP、游戏等业务的存储源。在需要获取这些静态资源时,用户会通过URL直接从OBS请求数据,但一般情况下文件只存储在一个区域,距离文件存储区域较远的用户访问OBS时,响应速度可能会比较慢。同时,在需要频繁访问的场景下,直接访问OBS来获取相应文件,还会消耗大量的流量费用。
如果您希望提高访问静态资源文件的速度和稳定性,可以使用CDN加速。如果您已为桶配置自定义域名,那么可以直接为自定义域名开启CDN加速;如果您还未为桶配置自定义域名,那么可以配置CDN加速域名。
CDN加速适用的场景如下:
- 网站加速
门户网站、电商平台、资讯APP等静态资源(如:图片、文件)遇到访问量较大或访问用户分布在全球各地的情况,使用加速功能可以加快响应速度。
- 文件下载加速
对于有文件下载业务的网站、下载工具、游戏客户端、APP商店等,加速功能可提供更高带宽和传输速度,减少下载时间。
- 点播加速
对于提供音视频点播服务的场景,如在线教育、在线视频分享、音乐/视频点播等,加速功能可降低播放缓冲时间,提高观看体验。
详细应用场景请参见应用场景。通过CDN实现OBS文件下载加速的详细配置方法请参见最佳实践。
操作视频
本视频介绍为OBS桶配置CDN加速域名操作步骤,主要分为以下几步:
- 在OBS管理控制台为桶绑定加速域名。
- 在DNS控制台配置CNAME域名解析。
- (可选)在OBS管理控制台配置自动刷新缓存。
通过CDN加速访问OBS费用说明
通过华为云CDN加速访问OBS中的数据时,费用将由OBS和CDN共同产生和收取。
整个过程产生的费用示意图如图1所示。
图1 通过CDN加速访问OBS费用示意
各计费项的详细说明,如表1所示。
表1 通过CDN加速访问OBS计费项说明 | 产生费用类别 | 费用收取方 | 费用说明 | 付费方式 |
| 请求费用 | OBS | 当终端用户首次访问数据时,CDN边缘节点会从源站(OBS桶)拉取数据,需要向OBS发起访问请求。OBS会根据调用API的请求次数进行费用收取。 | 按需计费 |
| CDN回源流量 | OBS | 源站(OBS 3.0桶)返回数据,并缓存到CDN节点时产生的回源流量。是否使用云专线回源对应的计费标准不同,详细的服务资费费率标准请参见产品价格详情。 回源流量仅支持OBS 3.0的桶,如果下载OBS 2.0的桶中数据,直接走公网流出流量。 | 按需计费 资源包(回源流量包) |
| CDN流量 | CDN | 用户访问CDN节点产生的流出流量,详细的CDN流量费用说明请参考CDN流量费用说明。 | 按需计费 资源包(CDN预付费流量包 ) |
原理介绍
客户端直接访问OBS:由于文件只存储在一个区域,距离文件存储区域较远的用户访问OBS时,响应速度可能会比较慢。
客户端使用CDN加速访问OBS:当客户端发起访问请求时,会首先通过CDN查找对此域名响应速度最快的CDN节点,并查询此节点是否有缓存客户端请求的内容。
- 如果有缓存,则由CDN节点直接返回数据。
- 如果无缓存,则由CDN节点从OBS获取数据后返回给客户端并将数据缓存至CDN节点上。
由此可见,通过内容分发网络(CDN)提供的加速服务,可以加快响应速度,降低成本,提升终端用户使用体验。
客户端直接访问OBS和使用CDN加速访问OBS的请求过程如下所示:
客户端直接从OBS获取数据的请求过程如图2所示。
图2 从OBS获取数据过程
客户端发起访问请求时,会首先通过CDN查找对此域名响应速度最快的CDN节点,同时查询到此节点没有缓存客户端请求的内容,然后由CDN节点从OBS获取数据后返回给客户端并将数据缓存至该CDN节点上。请求流程如图3所示。
图3 CDN加速访问OBS示意图(CDN节点无缓存)
客户端发起访问请求时,会首先通过CDN查找对此域名响应速度最快的CDN节点,同时查询到此节点有缓存客户端请求的内容,然后由CDN节点直接返回数据给客户端,而无需再从OBS获取数据。请求流程如图4所示。
图4 CDN加速访问OBS示意图(CDN节点有缓存)
约束与限制
只有桶版本号为3.0及以上的桶支持该功能。桶版本号可以在OBS管理控制台上,进入桶概览页面后,在“基本信息”中查看。
配置加速域名
OBS支持通过管理控制台方式配置加速域名,不支持通过API、SDK、OBS Browser+、obsutil方式添加加速域名。
使用OBS管理控制台配置加速域名分为两步:
- 配置加速域名:为桶绑定加速域名。
- 配置CNAME域名解析:将加速域名映射为被绑定桶的默认域名。
步骤一:配置加速域名
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在桶列表中,单击待操作的桶,进入“对象”页面。
- 在左侧导航栏选择“基础配置>域名管理”,进入“域名管理”界面。
图5 域名管理界面
- 单击页面上方的“添加加速域名”,右侧弹出“配置加速域名”弹窗。
如果没有绑定自定义域名也可以在页面下方的添加加速域名卡片中单击“添加加速域名”。
如果还没有开通CDN服务,单击“添加加速域名”后会出现弹窗,根据弹窗提示,单击开通CDN服务。
图6 配置加速域名 
- 添加加速域名,按照表2配置加速域名参数。
表2 参数说明 | 参数 | 参数分类 | 说明 | 取值样例 |
| 源站信息 | - | 客户端通过加速域名访问的源站信息,即为被访问资源所在的OBS桶默认域名。 该参数默认显示,无需配置。 | - |
| 服务范围 | 中国大陆 | 如果您仅选择中国大陆,所有用户的访问都会被调度到中国大陆的CDN节点。此外,加速域名还需要到工信部备案,详见备案流程。 | 全球 |
| 中国大陆境外 | 如果您仅选择中国大陆境外,所有用户的访问都会调度到中国大陆境外的节点,此时加速域名不需要到工信部备案。 |
| 全球 | 如果您选择全球,全球各地用户的访问都会调度到附近最优的CDN节点,同时加速域名需要到工信部备案,详见备案流程。 |
| 业务类型 | 网站加速 | 门户网站、电商平台、资讯APP等静态资源(如:图片、文件)遇到访问量较大或访问用户分布在全球各地的情况,使用加速功能可以加快响应速度。 | 网站加速 |
| 文件下载加速 | 对于有文件下载业务的网站、下载工具、游戏客户端、APP商店等,加速功能可提供更高带宽和传输速度,减少下载时间。 |
| 点播加速 | 对于提供音视频点播服务的场景,如在线教育、在线视频分享、音乐/视频点播等,加速功能可降低播放缓冲时间,提高观看体验。 |
| 桶类型 | 公有桶 | 表示使用CDN加速功能时,CDN可以匿名访问桶。 桶类型选择“公有桶”,安全风险较大,不推荐使用中/高风险的OBS桶作为源站。 | 私有桶 |
| 私有桶 | 表示使用CDN加速功能时,CDN不可以匿名访问桶。 桶类型选择“私有桶”,CDN会使用内置的委托(CDNAccessPrivateOBS)作为身份鉴权从OBS桶获取数据。 “CDNAccessPrivateOBS”委托用于OBS对CDN进行云资源委托授权,授权成功后CDN将有权限访问您账号下的OBS私有桶,更多详细内容,请参见OBS委托授权。 请勿删除CDN与OBS的委托关系,否则会导致CDN无法在回源时从OBS私有桶获取相应资源。 说明: 如果您是初次配置CDN加速功能,桶类型选择“私有桶”(OBS私有桶回源)时,系统会自动创建名称为“CDNAccessPrivateOBS”的委托。 |
| 加速域名 | - | 需要加速的自定义域名。 | static.example.com |
| 静态网站托管 | - | 静态网站托管即静态网站文件被上传至OBS的桶中,并对这些文件赋予匿名用户可读权限,然后将该桶配置成静态网站托管模式,就可以实现在OBS上托管静态网站。详情请参见静态网站托管 | - |
- 单击“确定加速”。
- 如果配置CDN加速时报错,可能是由于您账号下的此域名是初次配置OBS私有桶回源,您还需要先对CDN进行云资源委托授权,授权成功后CDN将有权限访问您账号下的OBS私有桶,授权操作请参见OBS委托授权。
- 配置OBS私有桶回源后,请勿删除CDN针对OBS的委托关系,否则会导致CDN无法在回源时从OBS私有桶获取相应资源。
步骤二:配置CNAME域名解析
配置解析CNAME,将自定义域名映射为被绑定桶的默认域名。
- 使用“一键解析”自动配置CNAME解析。
- 如果填写的用户域名为华为云域名,请单击“一键解析”。云解析服务DNS会根据填写的域名自动添加一条CNAME记录。
- 如果填写的用户域名非华为云域名,那么忽略本步骤而执行2手动配置解析规则。
- 手动配置解析CNAME。
- 如果您使用的域名为非华为云域名,请参考以下方式手动配置解析CNAME。
- 如果您使用的域名为华为云域名,可以通过如下步骤手动配置解析CNAME。
- 登录DNS控制台,进入云解析服务页面。
- 在左侧菜单栏中,选择“公网域名”,进入域名列表页面。
- (可选)创建公网域名。如果您之前已创建,请跳过该步骤。
- 在“公网域名”页面,单击右上角的“创建公网域名”。
- 根据提示填写参数配置,参数信息如下所示,其余参数保持默认。
表3 参数说明 | 参数 | 取值样例 | 参数说明 |
| 域名 | example.com | 从域名注册商处购买的域名。 此处填写的是为桶绑定的自定义域名。 |
| 企业项目 | default | 公网域名关联的企业项目,用于将公网域名资源按照企业项目进行管理。 仅当用户使用的“账号类型”为“企业账号”时,显示该参数,且参数必选。 配置原则: - 如果不通过企业项目管理域名资源,则采用默认值“default”。
- 如果通过企业项目管理域名资源,则在下拉列表中选择已经创建的企业项目。
在设置该参数前,您需要创建企业项目。 |
- 单击“确定”。
- 在待添加记录集的域名(为桶绑定的自定义域名)所在行,单击“域名”列的域名名称。
- 进入“解析记录”页面,单击“添加记录集”,进入“添加记录集”页面。
- 根据界面提示填写参数配置,参数信息如表4所示,表中未提到的参数可保持默认值。
更多参数配置请参见
添加CNAME类型记录集。
表4 参数说明 | 参数 | 取值样例 | 参数说明 |
| 记录类型 | CNAME - 将域名指向另外一个域名 | 根据域名解析场景选择记录集的类型。 此处选择“CNAME - 将域名指向另外一个域名”类型。 添加记录集时,如果提示解析记录集已经存在,说明待添加的记录集与已有的记录集存在限制关系或者冲突。 详细内容请参见为什么会提示解析记录集已经存在?。 |
| 主机记录 | 置空 | 解析域名的前缀。 例如创建的域名为“example.com”,其“主机记录”设置包括: |
| 线路类型 | 全网默认 | 解析的线路类型用于设置DNS服务器在解析域名时,根据访问者来源返回对应解析结果的规则。 默认值为“全网默认”。 仅支持为公网域名的记录集配置此参数。 - 全网默认:默认线路类型,当未根据访问者来源设置解析线路时,系统会返回默认解析结果。
- 运营商线路解析:根据访问者所在运营商,设置解析线路,详细内容请参见配置运营商线路解析。
- 地域解析:根据访问者所在地域,设置解析线路,详细内容请参见配置地域线路解析。
- 自定义线路:根据访问者所属IP网段,设置解析线路,详细内容请参见配置自定义线路解析。
|
| TTL (秒) | 300秒 | 解析记录在本地DNS服务器的缓存时间,以秒为单位。 默认值为“300”,即5分钟。取值范围为:1~2147483647 如果您的服务地址经常更换,建议TTL值设置相对小些,反之,建议设置相对大些。 更多TTL相关内容请参见什么是TTL值?。 |
| 记录值 | example-bucket.obs.cn-north-4.myhuaweicloud-custom.com | 填写您要指向的别名,只能填写一个域名。 |
| 别名 | 开关关闭 | 用于是否将此记录集关联至云服务资源实例。 仅支持为公网域名的记录集配置此参数。 与CNAME记录集相比,别名支持一级主域名。 CNAME类型记录集不支持打开别名开关。 |
- 单击“确定”,完成添加。
- 验证CNAME域名解析是否生效。
打开Windows操作系统中的cmd程序,输入如下命令:
nslookup -type = cname example.name
其中,“example.name”是桶配置的自定义域名或CDN加速域名,请替换为您的实际域名。
- 没有使用CDN加速:如果回显OBS桶域名,则表示CNAME域名解析已经生效。
图7 未使用CDN加速
- 使用CDN加速:如果回显CDN分配的CNAME域名,则表示CNAME域名解析已经生效,如下图所示。
图8 使用CDN加速
CDN加速非实时生效,配置域名后请刷新域名管理列表查看状态。只有当CNAME域名状态为“已开启”时,才表示CDN加速生效。
为已配置的自定义域名开启加速
OBS支持通过管理控制台方式为已配置的自定义域名开启加速,不支持通过API、SDK、OBS Browser+、obsutil方式为已配置的自定义域名开启加速。
使用OBS管理控制台为已配置的自定义域名开启加速分为两步:
- 开启加速:为桶已绑定的自定义域名开启加速。
- 配置CNAME域名解析:将加速域名映射为被绑定桶的默认域名。
步骤一:开启加速
- 在域名管理列表,找到已绑定的域名卡片,单击“启用”。
图9 加速域名
- 按照表5配置加速域名参数。
表5 参数说明 | 参数 | 参数分类 | 说明 | 取值样例 |
| 源站信息 | - | 客户端通过加速域名访问的源站信息,即为被访问资源所在的OBS桶默认域名。 该参数默认显示,无需配置。 | - |
| 服务范围 | 中国大陆 | 如果您仅选择中国大陆,所有用户的访问都会被调度到中国大陆的CDN节点,此外,加速域名还需要到工信部备案,详见备案流程。 | 全球 |
| 中国大陆境外 | 如果您仅选择中国大陆境外,所有用户的访问都会调度到中国大陆境外的节点,此时加速域名不需要到工信部备案。 |
| 全球 | 如果您选择全球,全球各地用户的访问都会调度到附近最优的CDN节点,同时加速域名需要到工信部备案,详见备案流程。 |
| 业务类型 | 网站加速 | 门户网站、电商平台、资讯APP等静态资源(如:图片、文件)遇到访问量较大或访问用户分布在全球各地的情况,使用加速功能可以加快响应速度。 | 网站加速 |
| 文件下载加速 | 对于有文件下载业务的网站、下载工具、游戏客户端、APP商店等,加速功能可提供更高带宽和传输速度,减少下载时间。 |
| 点播加速 | 对于提供音视频点播服务的场景,如在线教育、在线视频分享、音乐/视频点播等,加速功能可降低播放缓冲时间,提高观看体验。 |
| 桶类型 | 公有桶 | 表示使用CDN加速功能时,CDN可以匿名访问桶。 桶类型选择“公有桶”,安全风险较大,不推荐使用中/高风险的OBS桶作为源站。 | 私有桶 |
| 私有桶 | 表示使用CDN加速功能时,CDN不可以匿名访问桶。 桶类型选择“私有桶”,CDN会使用内置的委托(CDNAccessPrivateOBS)作为身份鉴权从OBS桶获取数据。 “CDNAccessPrivateOBS”委托用于OBS对CDN进行云资源委托授权,授权成功后CDN将有权限访问您账号下的OBS私有桶,更多详细内容,请参见OBS委托授权。 请勿删除CDN与OBS的委托关系,否则会导致CDN无法在回源时从OBS私有桶获取相应资源。 说明: 如果您是初次配置CDN加速功能,桶类型选择“私有桶”(OBS私有桶回源)时,系统会自动创建名称为“CDNAccessPrivateOBS”的委托。 |
| 加速域名 | - | 需要加速的自定义域名。 该参数默认显示,无需配置。 为防止域名被恶意注册到您的CDN加速服务中,首次接入CDN加速时,需要验证域名归属权,详情请参见验证域名归属权。 | static.example.com |
| 静态网站托管 | - | 静态网站托管即静态网站文件被上传至OBS的桶中,并对这些文件赋予匿名用户可读权限,然后将该桶配置成静态网站托管模式,就可以实现在OBS上托管静态网站。详情请参见静态网站托管。 | - |
- 单击“确定加速”。
步骤二:配置CNAME域名解析
配置解析CNAME,将自定义域名映射为被绑定桶的默认域名。
- 使用“一键解析”自动配置CNAME解析。
- 如果填写的用户域名为华为云域名,请单击“一键解析”。云解析服务DNS会根据填写的域名自动添加一条CNAME记录。
- 如果填写的用户域名非华为云域名,那么忽略本步骤而执行2手动配置解析规则。
- 手动配置解析CNAME。
- 如果您使用的域名为非华为云域名,请参考以下方式手动配置解析CNAME。
- 如果您使用的域名为华为云域名,可以通过如下步骤手动配置解析CNAME。
- 登录DNS控制台,进入云解析服务页面。
- 在左侧菜单栏中,选择“公网域名”,进入域名列表页面。
- (可选)创建公网域名。如果您之前已创建,请跳过该步骤。
- 在“公网域名”页面,单击右上角的“创建公网域名”。
- 根据提示填写参数配置,参数信息如下所示,其余参数保持默认。
表6 参数说明 | 参数 | 取值样例 | 参数说明 |
| 域名 | example.com | 从域名注册商处购买的域名。 此处填写的是为桶绑定的自定义域名。 |
| 企业项目 | default | 公网域名关联的企业项目,用于将公网域名资源按照企业项目进行管理。 仅当用户使用的“账号类型”为“企业账号”时,显示该参数,且参数必选。 配置原则: - 如果不通过企业项目管理域名资源,则采用默认值“default”。
- 如果通过企业项目管理域名资源,则在下拉列表中选择已经创建的企业项目。
在设置该参数前,您需要创建企业项目。 |
- 单击“确定”。
- 在待添加记录集的域名(为桶绑定的自定义域名)所在行,单击“域名”列的域名名称。
- 进入“解析记录”页面,单击“添加记录集”,进入“添加记录集”页面。
- 根据界面提示填写参数配置,参数信息如表7所示,表中未提到的参数可保持默认值。
更多参数配置请参见
添加CNAME类型记录集。
表7 参数说明 | 参数 | 取值样例 | 参数说明 |
| 记录类型 | CNAME - 将域名指向另外一个域名 | 根据域名解析场景选择记录集的类型。 此处选择“CNAME - 将域名指向另外一个域名”类型。 添加记录集时,如果提示解析记录集已经存在,说明待添加的记录集与已有的记录集存在限制关系或者冲突。 详细内容请参见为什么会提示解析记录集已经存在?。 |
| 主机记录 | 置空 | 解析域名的前缀。 例如创建的域名为“example.com”,其“主机记录”设置包括: |
| 线路类型 | 全网默认 | 解析的线路类型用于设置DNS服务器在解析域名时,根据访问者来源返回对应解析结果的规则。 默认值为“全网默认”。 仅支持为公网域名的记录集配置此参数。 - 全网默认:默认线路类型,当未根据访问者来源设置解析线路时,系统会返回默认解析结果。
- 运营商线路解析:根据访问者所在运营商,设置解析线路,详细内容请参见配置运营商线路解析。
- 地域解析:根据访问者所在地域,设置解析线路,详细内容请参见配置地域线路解析。
- 自定义线路:根据访问者所属IP网段,设置解析线路,详细内容请参见配置自定义线路解析。
|
| TTL (秒) | 300秒 | 解析记录在本地DNS服务器的缓存时间,以秒为单位。 默认值为“300”,即5分钟。取值范围为:1~2147483647 如果您的服务地址经常更换,建议TTL值设置相对小些,反之,建议设置相对大些。 更多TTL相关内容请参见什么是TTL值?。 |
| 记录值 | example-bucket.obs.cn-north-4.myhuaweicloud-custom.com | 填写您要指向的别名,只能填写一个域名。 |
| 别名 | 开关关闭 | 用于是否将此记录集关联至云服务资源实例。 仅支持为公网域名的记录集配置此参数。 与CNAME记录集相比,别名支持一级主域名。 CNAME类型记录集不支持打开别名开关。 |
- 单击“确定”,完成添加。
- 验证CNAME域名解析是否生效。
打开Windows操作系统中的cmd程序,输入如下命令:
nslookup -type = cname example.name
其中,“example.name”是桶配置的自定义域名或CDN加速域名,请替换为您的实际域名。
- 没有使用CDN加速:如果回显OBS桶域名,则表示CNAME域名解析已经生效。
图10 未使用CDN加速
- 使用CDN加速:如果回显CDN分配的CNAME域名,则表示CNAME域名解析已经生效,如下图所示。
图11 使用CDN加速
CDN加速非实时生效,配置域名后请刷新域名管理列表查看状态。只有当CNAME域名状态为“已开启”时,才表示CDN加速生效。
停用加速
如果您的业务不再需要使用域名加速功能,可以按照以下步骤停用加速。
- 停用加速后,CDN将不再为域名提供加速服务,为避免您的业务受损,先将DNS解析记录从CDN CNAME切换回OBS桶域名,测试业务无误后再停用加速。将DNS解析回源站的操作,请参见修改记录集。
- 停用加速后,客户端可能存在DNS解析缓存等情况,依然会有部分请求转发到CDN节点,CDN接收到请求后会拒绝提供服务,但是会产生相应的流量和请求数据,您需要支付此部分的费用。
- 在域名管理列表,找到加速域名卡片,单击“停用”。
图12 停用加速域名
- 在“停用加速”弹窗,勾选“我已知晓以上业务以及费用影响”。
图13 停用加速
- 单击“确定”。
后续操作(开启CDN后上传下载对象)
开启CDN加速后,可使用加速域名(即自定义域名)上传与下载对象。
使用obsutil
obsutil 支持配置自定义域名访问OBS,目前仅支持列举、上传、下载对象。具体配置步骤如下:
- 使用前需要配置自定义域名。
- 在配置文件(.obsutilconfig)中将cname项设置成true。
cname=true
- 在配置文件(.obsutilconfig)中将endpoint项设置成步骤1中配置的自定义域名。
endpoint=https://example.com
- 配置完成后,可以通过如下方式检查配置是否无误。
obsutil ls obs://bucketname
根据命令回显结果,检查配置结果:
- 如果返回结果中包含“Object number :”,表明配置正确。
- 如果返回结果中包含“Http status [403]”,表明域名配置有误。
- 该功能仅限5.5.3及以上版本支持。
- 配置文件(.obsutilconfig)一般存在系统的用户目录下((macOS/Linux操作系统的“~”目录;Windows操作系统的“C:\Users\<username>”目录)。
- 因为桶名与自定义域名是绑定关系,如果配置自定义域名后,仅可管理关联桶的资源。
使用API与SDK
公开桶直接获取对象URL即可访问桶内资源,详情参见匿名用户通过URL访问对象。私有桶请使用自定义域名计算签名或初始化SDK客户端:
- 如果您直接调用OBS API访问桶中资源,那么在计算API签名时,请将CanonicalizedResource中的桶名替换为自定义域名,详情参见OBS签名机制。
- 如果您使用OBS SDK访问桶中的资源,那么在初始化SDK客户端时,请将endpoint设置为自定义域名的endpoint,例如“http://testwsa.com”,并为SDK客户端配置自定义域名相关参数,如表3所示。
生产环境应用与风险防范
在CDN与OBS的基础链路打通后,可进一步将二者结合应用于生产环境:在加密传输与CDN加速域名平滑切换的基础上,可配置缓存过期时间规则、资源预热与缓存刷新、CORS策略及大文件传输优化,以提升访问性能;同时通过防盗链、流量监控与告警、源站访问保障、日志审计手段构建风险防线,实现业务稳定上线与可观测运维的一体化落地。
生产环境应用
- 传输加密:配置HTTPS访问
CDN支持HTTPS安全加速,您可以通过CDN配置HTTPS证书,也可以通过OBS配置加速域名的HTTPS证书,启用HTTPS加速服务,证书配置成功后,客户端可以使用HTTPS协议请求CDN节点。这种方式不仅有效规避数据在传输过程中被窃听或篡改的风险,同时还避免浏览器弹出“不安全”类似的提示,保障了访问体验与业务可信度。
- 泛域名证书仅支持同级别域名,如*.example.com。泛域名证书可匹配www.example.com、obs.example.com域名,但无法匹配test.obs.example.com域名。
- OBS源站不支持HTTP/2协议,客户端与CDN节点之间可以通过CDN启用HTTP/2协议以提升访问效率。
- 性能优化:配置缓存过期时间规则
您可以在CDN节点中配置缓存过期时间规则。当缓存资源超过所设置的过期时间后,用户再次请求时,CDN将回源获取的最新资源返回给用户,并重新缓存到CDN节点。另外,对于高频使用功能(如OBS图片处理),一般情况下CDN为了最大化缓存命中率会忽略全部URL查询参数,这样就会导致?x-image-process等图片处理指令失效。为保证命令的正常生效,您可以在配置CDN缓存过期规则时,配置URL参数。
根据文件类型配置缓存过期时间
- 对于低频变更静态文件(如.jpg、.zip等):建议缓存过期时间设置成1个月以上,降低回源频率。
- 对于频繁变更静态文件(如js、css等):建议根据实际业务情况设定。
- 对于动态文件(如php、jsp、asp、业务接口等):建议缓存时间设置为0秒(即不缓存),以确保每次请求都回源获取最新数据。
根据图片处理的业务场景进行参数URL配置
- 对于纯静态的资源分发业务(如js、css等),建议设置为忽略参数,最大化缓存命中率。
- 对于使用OBS图片处理功能的(如缩放、水印等),建议设置为不忽略参数或保留指定参数,确保图片处理命令生效。
- 对于带版本号的资源业务,建议设置为忽略指定参数,既保证版本更新触发缓存业务,又避免无效参数降低命中率。
- 可用性保障:配置缓存预热与缓存刷新功能
- 当域名首次接入、安装包发布或者运营活动发布前,可以通过缓存预热功能,将对应的资源缓存到CDN节点,用户就能直接从CDN节点获取到最新的资源。
- 当有新资源发布,或者一些旧资源被清理后,为了避免用户受节点缓存影响访问到旧资源,可以通过缓存刷新功能,将CDN节点缓存的资源强制过期,用户下次访问时CDN将回源获取最新的资源返回给用户,同时将新的资源缓存到CDN节点。
- 跨域访问:配置CORS策略
当用户需要跨域访问经过CDN加速的OBS资源时,除了OBS桶配置CORS规则外,CDN侧还需要配置HTTP header。CDN支持的响应头有Content-Language、Access-Control-Allow-Origin、Timing-Allow-Origin等,更多详情请参见配置HTTP header。
- 性能调优:提高大文件的传输效率
- 对于音视频或者一些比较大的文件,可以配置Range实现资源分段回源,它可以根据HTTP请求头中的Range信息返回指定范围的数据给CDN节点,有效缩短大文件分发时间,提升回源效率,减少回源消耗。
- 对于较大的静态文件,可以通过配置CDN智能压缩功能,有效缩小传输文件的大小,提升传输效率,减少带宽消耗。
如果源站配置了MD5值校验,请勿开启此功能。CDN对静态文件压缩时,会改变MD5值,导致压缩后的文件和源站文件的MD5值不一致。
- 业务连续性:CDN加速域名平滑切换
将业务从OBS桶域名迁移到CDN加速域名时,建议采用分阶段发布策略,降低变更风险:
- 准备阶段:完成CDN加速域名全量配置(HTTPS、缓存策略、回源参数等),并在测试环境完成功能与性能验证。
- 灰度发布阶段:建议选择业务低峰期,通过DNS权重或按地域/客户端逐步将流量切至CDN加速域名,控制放量节奏。
- 观察验证阶段:持续监控访问日志、返回状态码错误率及响应耗时等关键指标,确认命中率、回源行为与业务预期一致。
- 全量切换阶段:灰度验证无异常后,将桶域名流量全部切至CDN,并同步调整DNS解析,将直接访问OBS桶域名的流量权重调低。
- 回滚预案:若出现异常访问或指标劣化,应立即切回桶域名,定位根因并配置修正后再重新发布。
风险防控
- 访问安全:配置防盗链和URL鉴权
- 配置防盗链:OBS支持基于HTTP请求头中referer字段的防盗链方法,同时还支持访问白名单和访问黑名单的设置。用户通过配置防盗链可有效防止资源被非法盗用。
- URL鉴权:对于OBS私有桶,且需要使用OBS回源鉴权功能的,开启OBS委托授权后,CDN将有权限访问您账号下所有私有桶资源。但由于CDN分发的内容默认为公开资源,为防止资源被恶意下载盗用,请同步在CDN配置URL鉴权 。
由于CDN无法感知OBS桶的配置,OBS桶配置了防盗链后,请同步在CDN侧配置防盗链。
- 流量监控与告警
用户可通过云监控服务为CDN加速域名配置告警规则,对域名运行状态进行常态化监控。当流量或带宽出现异常突增时,可及时感知并处理,降低盗刷与成本风险。
- 源站访问保障:配置回源SNI与回源HOST
CDN至OBS的回源链路是否稳定可靠,直接影响业务整体可用性。如果源站IP绑定了多个域名,当CDN节点以HTTPS协议访问源站时,您可以配置回源SNI和配置回源HOST,指定CDN节点回源时需要访问的域名,并根据HOST信息去对应站点获取资源。
- 运维可观测:启用访问日志分析
用户可通过CDN日志管理功能,以便分析业务情况。还可以使用CTS审计CDN,用于支撑安全分析、合规审计、资源跟踪和问题定位。
相关文档
配置自动刷新策略
CDN加速功能将存储在OBS中的数据缓存到终端用户附近的CDN节点上,让身处各地的终端用户都可以快速访问存储在OBS中的数据。当用户需要更新OBS中存储的数据时,CDN中缓存的过时数据也需要进行更新,可以使用CDN自动刷新功能来自动通知CDN去更新数据。具体操作请参见为桶的CDN加速域名配置自动刷新策略。
使用HTTPS协议访问加速域名
CDN支持HTTPS安全加速,您可以通过在CDN控制台配置加速域名的HTTPS证书,启用HTTPS加速服务,证书配置成功后,客户端可以使用HTTPS协议请求CDN节点,详情请参见HTTPS配置。