内容分发网络 CDN

内容分发网络 CDN

内容分发网络CDN 是快速、稳定、安全、可靠的全球内容分发加速服务,支持网站、图片、音视频等多业务内容分发。华为云CDN将源站资源缓存到遍布全球的加速节点上,当终端用户访问资源时,无需回源,CDN通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的CDN节点IP地址提供给用户,使用户可以以最快的速度获得网站内容。


华为云CDN内容分发网络优势

2,800+节点

2800+节点,覆盖全球130+国家和地区,为全球加速保驾护航

180Tbps+带宽储备

与主导运营商合营,全网带宽高达180T,扩容无瓶颈

4大加速场景

拥有全业务场景加速的技术能力,针对多种业务提供一站式加速服务

7*24小时服务保障

7*24小时全天候服务,协助客户深度定制业务需求,满足客户未来业务发展

什么是CDN缓存

CDN缓存规则

您可以配置CDN节点中某个或某些缓存资源的缓存过期时间规则。当CDN节点缓存的资源达到设置的缓存过期时间后,用户再次请求该资源时,CDN将直接回源站请求对应的最新资源返回给用户,并缓存到CDN节点。支持按照“首页”、“所有文件”、“目录路径”、“文件名后缀”及“全路径”方式指定资源范围,同时支持针对不同的缓存规则配置“URL参数”,从而提高缓存命中率,提升分发效率。

背景信息

CDN缓存背景信息

CDN节点的缓存策略遵循HTTP标准协议,通过HTTP响应头中的Cache-control: max-age的字段来设置CDN节点上数据的缓存时间。添加缓存规则让CDN用户可以对指定的业务做定制化的数据缓存时间管理。合理的配置缓存时间,能够有效的提升命中率,降低回源率,节省用户的带宽。

当用户向CDN节点请求数据时,CDN节点会判断缓存数据是否过期。如果缓存数据未过期,则直接将缓存数据返回给用户,提升获取速度;否则,CDN节点就会向源站发出回源请求,从源站请求最新数据,更新本地缓存,并将最新数据返回给用户。

CDN缓存注意事项

每个域名最多可添加60条缓存规则。

CDN缓存过期时间会对“回源率”产生直接的影响。如果CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大了访问延时;如果CDN缓存过期时间过长,会带来数据更新时间慢的问题。

缓存过期时间设置为0时,该文件的所有请求都将回源,可能存在加速业务中断的风险。

节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除。

如果您修改了缓存规则,请注意:

新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的缓存规则。

如果您想要新的规则对所有资源(包括节点已缓存资源)立即生效,请在修改缓存规则后执行缓存刷新操作。

CDN缓存操作步骤

1.登录华为云控制台,在控制台首页中选择“ CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。

2.在左侧菜单栏中,选择“域名管理”。

3.在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。

4.选择“缓存配置”页签。

5.在缓存规则模块,单击“编辑”,系统弹出“配置缓存策略”对话框。

6.单击“添加”,根据业务需求配置缓存策略,如图1所示。具体配置参数说明如表1所示,您还可以单击“查看缓存策略配置建议”查看推荐的配置。

图1 配置缓存策略

表1 缓存策略配置参数

7.(可选)通过单击缓存规则所在行的“删除”,删除不需要的缓存规则。

8.单击“确定”,完成缓存规则配置。

配置示例

配置场景1:某客户的域名“www.example.com”配置了CDN加速,缓存规则配置见下图。

配置结果:网站首页不缓存,所有页面均不会忽略URL参数。

配置场景2:设置某个类型的文件不缓存

某客户的域名“www.example.com”配置了CDN加速,由于业务需求,需要对“.do”格式的文件不缓存,同时所有文件都忽略URL参数。

需要在CDN控制台增加一条文件名后缀为“.do”的缓存规则,缓存过期时间设置为“0”。

说明:新规则仅对后续资源缓存生效,新规则配置完成后,建议您刷新“.do”文件所在的URL或者目录,新规则才可以对所有“.do”文件生效。

某客户配置了CDN加速,发现登录界面无限循环,无法登录,停用CDN加速后,可以正常登录。

这是因为CDN节点缓存了登录界面导致的,需要在控制台增加一条针对登录界面的缓存规则,缓存过期时间设置为“0”。以华为云控制台登录界面为例,华为云控制台的登录页面为“https://auth.huaweicloud.com/authui/login.html#/login”,在控制台增加一条全路径:/authui/login.html#/login,缓存过期时间为“0”的缓存规则。

配置场景3:某客户加速域名www.example.com设置了如下图的缓存规则,不知道哪一个规则生效。

用户访问www.example.com/test/cdn.jpg,虽然所有文件、文件名后缀、全路径三条规则都匹配到了,但是由于全路径的优先级为8,在三条规则里优先级最高,所以系统最终匹配全路径/test/*.jpg这条规则。

CDN节点

华为云CDN全球2800+节点,覆盖130+国家和地区;全网带宽高达180Tbps,无论身处何地,用户都可获得快速的网络体验。

全球精准IP库,具备自我进化能力,全网链路质量大数据实时分析、预测,精准调度最优节点,保障访问质量。

独创AICache技术+多级缓存调度,实时跟踪全局热度,超高速、大容量SSD存储,有效提升缓存命中率。

华为云CDN将源站资源缓存到遍布全球的加速节点上,当终端用户访问资源时,无需回源,CDN通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的CDN节点IP地址提供给用户,使用户可以以最快的速度获得网站内容。

CDN节点常见问题解答

CDN节点常见问题解答

  • 华为云CDN有多少节点?

    华为云CDN在中国大陆拥有2000+加速节点,在中国大陆境外拥有800+加速节点。

  • CDN支持哪些业务类型?

    网站加速

    适用于有加速需求的网站,包括门户网站、电商平台、资讯APP、UGC应用(User Generated Content,用户原创内容)等,加速各类型图片、html、css、js小文件等。

    文件下载加速

    适用于有文件下载业务的网站、下载工具、游戏客户端、APP商店等,如游戏安装包获取、应用程序包下载、手机ROM升级等业务场景。

    点播加速

    适用于提供音视频点播服务的客户。例如:在线教育类网站、在线视频分享网站、互联网电视点播平台、音乐视频点播APP等。

    全站加速

    适用于各行业动静态内容混合,含较多动态资源请求(如:asp、jsp、php等格式的文件)的网站。

    示例:

    同时有点播加速和文件下载加速需求:一个加速域名只能选择一个对应的业务类型,不支持一个域名对应多个业务类型。如果您的网站同时有点播加速和文件下载加速的需求,那么您需要创建两个加速域名,分别使用点播加速和文件下载加速。

  • CDN加速有速度限制吗?

    目前对于接入CDN的加速域名,没有默认的速度限制。

  • 华为云CDN可以提供所有的节点IP地址和回源IP地址吗?

    CDN节点的公网节点IP地址存在不定期的变化的情况,不支持提供节点IP地址和回源IP地址。

  • 为什么CDN的缓存命中率较低?

    CDN缓存命中率低的可能原因如下:

    HTTP Header设置不当导致无法缓存,请检查源站Cache-Control是否设置为不缓存。当源站上设置了cache-control:no-cache/no-store/max-age=0/private或者Pragma:no-cache时,同时,CDN侧开启了“缓存遵循源站”,CDN将无法缓存资源,从而导致命中率低。

    您设置的CDN缓存过期时间不合适。如果设置的CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,因此降低CDN缓存命中率。

    您的源站动态内容居多,CDN主要加速对象为静态资源(如:css、js、html、图片、txt、视频等),对于动态资源(如:asp、jsp、php、API接口和动态交互请求等)CDN会回源请求资源。

    缓存刷新操作频繁,提交缓存刷新请求后,CDN节点的缓存内容将会被强制过期。下次访问同样的URL时,CDN会回源请求资源,从而导致命中率下降。

    网站的访问量低,节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除,导致频繁回源,因此降低CDN缓存命中率。

    您的源站出现异常,导致缓存命中率下降,请检查您的源站能否正常访问。

    cdn默认head请求是不缓存的,即使预热,请求方式是head请求也是不缓存的。

  • 同一个CDN加速域名能否同时支持国内和海外?

    支持,添加域名时,选择服务范围为全球加速。

  • CDN缓存配置中URL参数的作用是什么?

    在URL参数模块,根据业务需要判断是否启用该项配置,对用户请求URL中“?”之后的参数进行过滤。

    不启用:CDN节点回源时,将按照用户请求URL回源,完成用户访问请求后,会根据URL的不同参数保存不同的缓存资源。当用户再次访问该URL时,会根据“?”后参数提供对应的内容。

    启用:CDN节点回源时,按照用户请求URL回源,完成用户访问请求后,仅保存一份缓存资源。当用户再次访问该URL时,只能返回当前一份缓存资源,无法按照“?”后参数进行区分。

    示例:

    终端用户首次访问URL“http://www.example.com/1.txt”时,CDN无缓存,回源请求资源;第二次访问“http://www.example.com/1.txt?test1”时,由于开通了“忽略URL参数”功能,所以“?”之后的参数不匹配,直接命中缓存“http://www.example.com/1.txt”。

    终端用户首次访问URL“http://www.example.com/1.txt”时,CDN无缓存,回源请求资源;第二次访问“http://www.example.com/1.txt?test1”时,由于没有开通“忽略URL参数”功能,所以“?”之后的参数也需要匹配,要重新回源请求“http://www.example.com/1.txt?test1”。

  • CDN节点的缓存多久会更新,会自动更新吗?

    CDN节点的缓存内容不是实时更新的,只有当缓存内容到期后才能回源请求最新的内容并更新节点缓存。您可以通过设置缓存过期时间规则或者提交刷新请求来实现缓存内容的更新。

  • CDN流量包与加速范围和源站位置有关系吗?

    CDN流量包源站位置无关。

    CDN流量包与加速范围有关,流量包分区域:

    CDN中国大陆流量包仅支持扣除中国大陆节点产生的流量使用;

    CDN中国大陆境外流量包仅支持扣除中国大陆境外节点产生的流量使用。

  • 国外IP地址访问加速域名时,会通过哪个节点加速?

    国外IP地址访问加速域名时,会根据客户端访问的出口IP地址,分配相应的CDN节点服务;CDN节点分布在全球各地,用户在不同国家访问时,可能是不同CDN节点提供服务,如果您有海外业务,建议开启全球加速。