云服务器内容精选
-
缓存配置概述 CDN加速 的原理就是将源站资源缓存到遍布全球的各个边缘节点,终端用户就近获取资源,从而达到加速效果。如果您想修改资源在CDN节点的缓存规则及相关配置,可以通过修改缓存配置来实现。 修改缓存相关配置需要加速 域名 处于“已开启”或“配置中”状态,并且未被CDN锁定、禁用。 功能 说明 缓存规则 如果您想合理的配置不同资源的缓存过期时间和优先级,有效提升缓存命中率,降低回源率,您需要设置缓存规则。 配置浏览器缓存过期时间 您可以配置浏览器缓存过期时间,当终端用户请求资源时,如果浏览器有缓存,直接返回给用户,降低回源率。 配置状态码缓存时间 如果您需要将源站返回的错误状态码缓存到CDN节点,用户再次请求时由CDN直接响应给用户错误码,您可以配置状态码缓存时间,减少回源概率,减轻源站压力。 配置访问URL重写 当用户请求URL与CDN节点缓存资源的URL不一致时,可以通过访问URL重写功能重定向到目标URL。 配置域名共享缓存组 如果不同域名对应相同的资源,您可以配置共享缓存组,将一个域名设置为主域名,组内其他域名共享该域名的缓存,以提高缓存命中率。 如果您修改了缓存规则、缓存遵循源站设置,请注意: 新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的规则。 如果您想要立即生效,请在修改规则后执行缓存刷新操作。 父主题: 缓存配置
-
适用场景 如果服务器资源的存放路径变化,CDN节点存放资源的路径也会随之变化。用户请求的URL路径如果没有变化,就需要CDN节点来重写用户请求的URL。例如用户请求的图片“a”的路径为“/test”,服务器中图片“a”的存放路径已改为“/testnew”。 CDN通过重定向的方式来完成URL的匹配,HTTP 302状态码(即302 Found),可表示资源被临时改变了位置。配置访问URL重写后,CDN节点会在给客户端发送的302状态码响应信息的HTTP Location头部中放置新的URL地址信息,客户端收到302状态码响应之后,将会向新的URL地址发起请求。重定向的状态码及其含义详见表表1。 表1 重定向方式 编码 含义 处理方法 典型应用场景 301 Moved Permanently GET方法不会发生变更,其他方法有可能会变更为GET方法。 资源被永久转移。 302 Found GET方法不会发生变更,其他方法有可能会变更为GET方法。 由于不可预见的原因该页面暂不可用。 303 See Other GET方法不会发生变更,其他方法会变更为GET方法(消息主体会丢失)。 用于PUT或POST请求完成之后进行页面跳转,防止由于页面刷新导致的操作的重复触发。 307 Temporary Redirect 方法和消息主体都不发生变化。 由于不可预见的原因该页面暂不可用。当站点支持非GET方法的链接或操作的时候,该状态码优于302状态码。
-
配置示例 示例1:客户端请求“http://www.example.com/test/test1/abc/abc02/1.jpg”时,匹配到了目录规则/test/*/abc,此时客户端访问的URL为“http://www.example.com/newtest/test1/abc”。 示例2:客户端请求“http://www.example.com/test/1.jpg”时,匹配到了全路径规则test/1.jpg,此时客户端访问的URL为“http://www.example.com/newtest/a.html”。
-
适用场景 状态码缓存时间功能主要适用于源站响应异常状态码的场景。当源站运行正常时,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刷新对更新的文件进行刷新。目录刷新会针对目录下所有文件进行刷新,生效时间比较慢。 父主题: 缓存配置