云服务器内容精选

  • 配置示例 配置场景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节点的缓存策略遵循HTTP标准协议,通过HTTP响应头中的Cache-control: max-age的字段来设置CDN节点上数据的缓存时间。添加缓存规则让CDN用户可以对指定的业务做定制化的数据缓存时间管理。合理的配置缓存时间,能够有效的提升命中率,降低回源率,节省用户的带宽。 当用户向CDN节点请求数据时,CDN节点会判断缓存数据是否过期。如果缓存数据未过期,则直接将缓存数据返回给用户,提升获取速度;否则,CDN节点就会向源站发出回源请求,从源站请求最新数据,更新本地缓存,并将最新数据返回给用户。
  • 注意事项 每个域名最多可添加60条缓存规则。 CDN缓存过期时间会对“回源率”产生直接的影响。如果CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大了访问延时;如果CDN缓存过期时间过长,会带来数据更新时间慢的问题。 缓存过期时间设置为0时,该文件的所有请求都将回源,可能存在加速业务中断的风险。 节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除。 如果您修改了缓存规则,请注意: 新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的缓存规则。 如果您想要新的规则对所有资源(包括节点已缓存资源)立即生效,请在修改缓存规则后执行缓存刷新操作。
  • 适用场景 状态码缓存时间功能主要适用于源站响应异常状态码的场景。当源站运行正常时,CDN回源请求资源后将按照设置的缓存规则将资源缓存到节点,再次访问相同资源时不会触发回源。当源站响应异常,且不希望所有请求都由源站响应,可以设置状态码缓存时间,减轻源站压力。 典型应用:图片abc.jpg已从源站删除,CDN节点无缓存,且持续有用户在访问该资源,那么所有访问都将会回源,由源站响应4xx状态码,增加源站压力。此时如果在CDN配置4xx状态码缓存时间,用户再次请求资源将直接由CDN节点响应4xx状态码,无需回源。
  • 注意事项 如果加速域名的资源在CDN节点不缓存,即使设置了状态码缓存时间,也无法缓存客户端请求该资源时产生的状态码。 后台有特殊配置的域名暂不支持配置状态码缓存时间。 业务类型为全站加速的域名不支持配置状态码缓存时间。 CDN默认缓存404、500、502、504状态码3s,其他状态码默认不缓存。 是否默认缓存404状态码依赖头域设置,如果带有X-HTTP-Method-Override、X-HTTP-Method、X-Method-Override头域,默认不缓存,反之则缓存3s。 如果域名的某个资源URL参数设置为“忽略参数”,当客户端请求返回的状态码(例如400)被缓存时,在缓存时间内所有该资源的请求均返回该状态码(400),请根据业务情况合理设置状态码缓存时间。 当前支持修改以下状态码的缓存时间: 4XX:400、401、403、404、405、407、414、416、451。 5XX:500、501、502、503、504、509、514。 3XX:301、302。
  • 如何保证CDN的内容和源站同步? 设置缓存规则,针对不同的内容设置不同的缓存刷新规则,对更新频繁的内容,可以设置较短的缓存时间; 对于不经常更新的内容,可以设置较长的缓存时间,从而减小源站压力。 如果设置的缓存刷新周期未到,但是有新内容发布或者删除部分内容,可以通过以下方式进行手动刷新。 登录华为云控制台,在服务列表中选择“CDN”,左侧菜单栏选择“预热刷新”,在缓存刷新页签完成刷新操作。 通过CDN服务提供的缓存刷新、缓存预热API接口,主动调用CDN API接口来更新CDN缓存,详见API参考。 如果只更新某个文件,建议使用URL刷新对更新的文件进行刷新。目录刷新会针对目录下所有文件进行刷新,生效时间比较慢。 父主题: 缓存配置
  • 缓存配置为什么没有生效? 如果您配置了缓存规则,在使用过程中发现此缓存规则未生效,可能是以下原因: 缓存规则配置生效大约需要5分钟时间,请您在规则生效后再验证。 您修改了缓存规则: 新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的缓存规则。 如果您想要立即生效,请在修改缓存规则后执行缓存刷新操作。 缓存规则有优先级(数值越大优先级越高),优先级较高的会优先匹配,请检查您的缓存规则优先级。 配置示例:某客户为域名www.example.com配置了文件名后缀为.jpg的规则,希望缓存过期时间为1天,优先级为2。 配置结果:当用户访问www.example.com/test/cdn.jpg文件时,有两条规则包含了此文件:文件名后缀、全路径,但是由于全路径的优先级为8,优先级较高,所以系统最终匹配全路径/test/*.jpg这条规则,缓存时间为3天。 调整方法:如果想要.jpg这条文件名后缀的规则优先生效,需要将优先级调整为大于8的数值。 父主题: 缓存配置