点击领取2000元阿里云代金券,付款抵现金用,云服务器69元/年限时抢>>> 点击咨询成为阿里云VIP客户享永久折扣>>>
点击领取2860元腾讯云代金券,付款抵现金用,云服务器88元/年限时抢>>> 点击成为腾讯云VIP客户享永久折扣优惠>>> 点击进入华为云最新优惠活动现场>>> 点击成为华为云VIP客户享永久折扣优惠>>>
CDN加速的本质是缓存加速,把源站资源缓存在遍布全球的节点上,用户可以就近从边缘节点获取资源,从而达到加速的效果。CDN控制台可以设置源站资源在节点上缓存的时间,方便您根据业务需要对不同的文件设置相应的缓存过期时间。
源站对CDN节点缓存的影响- 源站设置了缓存过期时间
- no-cache、private、no-store:CDN节点不缓存源站资源,用户每次访问都需要回源,无法达到加速的目的。
- 设置了其它缓存过期时间:CDN控制台默认或者新设置的缓存过期时间会覆盖源站的缓存过期时间。
- 源站未设置缓存过期时间
根据业务类型设置缓存过期时间CDN默认缓存过期时间:
- 业务类型选择的是网站加速、文件下载加速或点播加速,且源站类型为源站IP或源站域名的加速域名,会有两条默认缓存规则。
- 常规动态文件(如: .php .jsp .asp .aspx)默认缓存过期时间为0,对此类动态文件请求会直接回源,此默认规则允许修改和删除。
- 除常规动态文件外的其他“所有文件”默认缓存过期时间30天,允许修改,不允许删除。
- 若您在添加域名里源站类型选择的是“OBS桶”,会有一条默认缓存规则。
- 默认有“所有文件”默认缓存过期时间30天,允许修改,不允许删除。
所有文件默认缓存30天,此规则允许修改但不允许删除。您可以将自定义缓存规则设置为更高优先级(数值更大),该自定义规则将会被优先匹配。
- 业务类型为全站加速时,默认有“所有文件”、缓存过期时间为“0”的缓存规则,允许修改和删除。
您可以根据业务类型配置缓存过期时间:
- 网站加速类型,建议设置缓存过期时间:
- 对php、aspx、asp、 jsp、 do、 dwr、cgi、 fcgi、action、ashx、axd、json等动态文件不缓存。
- 对以shtml、html、htm、js结尾的文件,建议缓存7天。
- 其他静态文件建议缓存30天。
- 下载加速类型,建议设置缓存过期时间:
- 对php、aspx、asp、jsp、do等动态文件不缓存。
- 对7z、apk、 wdf、 cab、 dhp、exe、flv、gz、ipa、iso、mpk、MPQ、pbcv、pxl、qnp、r00、rar、xy、xy2、zip、CAB等文件缓存30天。
- 视频点播加速类型,建议设置缓存过期时间:
- 对php、aspx、asp、jsp、do等动态文件不缓存。
- 对mwv、html、htm、shtml、hml、gif、swf、png、bmp、js等缓存7天。
- 对MP3、wma、7z、apk、 wdf、 cab、 dhp、exe、flv、gz、ipa、iso、mpk、MPQ、pbcv、pxl、qnp、r00、rar、xy、xy2、zip、CAB等文件缓存30天。
操作步骤- 登录华为云控制台,在控制台首页中选择“存储 > CDN”,进入CDN控制台。
- 在左侧菜单栏中,选择。
- 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
- 选择“缓存配置”页签。
- 在缓存规则模块,单击“编辑”,系统弹出“配置缓存策略”对话框。
- 单击“添加”,根据业务需求配置缓存策略,如图1所示。具体配置参数说明如表1所示。
图1 配置缓存策略
表1 缓存策略配置参数参数
|
说明
|
配置规则
|
所有文件
|
设置CDN节点所有缓存资源的过期时间。
|
对于新添加的加速域名,CDN默认添加一条“所有文件”缓存过期时间为30天的规则,此默认规则允许修改,不允许删除。
|
文件名后缀
|
设置指定文件类型的缓存资源的缓存规则。
对于新添加的业务类型为网站加速、文件下载加速和点播加速,且源站为自有源站的加速域名,CDN默认添加一条常规动态文件(如.php .jsp .asp .aspx)缓存过期时间为0的规则,对此类动态文件请求会直接回源。此默认规则允许修改和删除。
|
- 支持所有格式的文件类型。
- 输入首字符为“.”,以“;”进行分隔。
- 字符总数不能超过255。
- 输入的文件后缀名总数不能超过20个。
- 文件名后缀英文字符支持大写和小写。
示例:.JPG;.zip;.exe。
|
目录路径
|
设置某一指定路径下的缓存资源的缓存规则。
|
输入要求以“/”作为首字符,以“;”进行分隔,输入的目录路径总数不能超过20个,且字符总数不能超过255。
示例:/test/folder01;/test/folder02。
|
全路径
|
设置完整路径下某一文件的缓存规则。
|
输入要求以“/”作为首字符,"*"不能在结尾。支持匹配指定目录下的具体文件或者带通配符"*"的文件。单条全路径缓存规则里仅支持配置一个全路径。
示例:如/test/index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905或/test/*.jpg
|
首页
|
设置根目录缓存规则
|
网站的根目录就是网站的顶层文件目录,目录下放着网站所有的子文件夹。
示例:以目录“abc/file01/2.png”为例,“abc/”就是根目录,缓存首页就是对“abc/”设置缓存规则。
|
优先级
|
缓存规则的优先级。
优先级设置具有唯一性,不支持多条缓存规则设置同一优先级,且优先级不能输入为空。多条缓存规则下,不同缓存规则中的相同资源内容,CDN按照优先级高的缓存规则执行缓存内容过期。
|
取值为1~100之间的整数,数值越大优先级越高。
|
缓存过期时间
|
达到设置的缓存过期时间后,当用户向CDN节点请求资源时,CDN会直接回源站拉取对应的最新资源返回给用户,并缓存到CDN节点中。
|
时间设置不能超过365天,建议参考如下规则进行配置:
- 对于不经常更新的静态文件(如.jpg、.zip等),建议将缓存过期时间设置成1个月以上。
- 对于频繁更新的静态文件(如js、css等),请根据实际业务情况设定。
- 对于动态文件(如php、jsp、asp等),建议设置成0秒,回源获取。
|
- (可选)通过单击缓存规则所在行的“删除”,删除不需要的缓存规则。
- 单击“确定”,完成缓存规则配置。
如果您修改了缓存规则: - 新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的缓存规则。
- 如果您想要立即生效,请在修改缓存规则后执行缓存刷新操作。
配置示例配置场景1:有一个门户网站,配置了华为云CDN加速,客户希望不缓存首页
您需要在CDN控制台增加一条类型为“首页”,缓存过期时间为“0”的规则。
配置场景2:设置某个类型的文件或者某个页面不缓存
- 某客户配置了CDN加速,设置了对“.do”格式的文件缓存1天,由于业务需求,需要对“.do”格式的文件不缓存。
您需要在CDN控制台增加一条文件名后缀为“.do”的缓存规则,缓存过期时间设置为“0”。
新规则仅对后续资源缓存生效,新规则配置完成后,建议您刷新“.do”文件所在的URL或者目录,新规则才可以对所有“.do”文件生效。
- 某客户配置了CDN加速,发现登录界面无限循环,无法登录,停用CDN加速后,可以正常登录。
这是因为CDN节点缓存了登录界面导致的,您需要在控制台增加一条针对登录界面的缓存规则,缓存过期时间设置为“0”。以华为云控制台登录界面为例,华为云控制台的登录页面为“https://auth.huaweicloud.com/authui/login.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905#/login”,在控制台增加一条全路径:/authui/login.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905#/login,缓存过期时间为“0”的缓存规则。
配置场景3:某客户加速域名www.example.com设置了如下图的缓存规则,不知道哪一个规则生效。
用户访问www.example.com/test/cdn.jpg,虽然所有文件、文件名后缀、全路径三条规则都匹配到了,但是由于全路径的优先级为8,在三条规则里优先级最高,所以系统最终匹配全路径/test/*.jpg这条规则。
|