cdn请求缓存失败怎么解决?配置CDN缓存后,无法命中CDN缓存的原因可能有:客户端请求是动态请求;源站返回强制不缓存的HTTP头;未返回响应头ETag和Last-modified;全站加速未配置静态加。那么,该怎么解决cdn请求缓存失败的问题呢?

当您在使用CDN加速的缓存配置时,如无法命中CDN缓存,请根据问题原因,参见以下操作进行排查:
1、客户端请求是动态请求
如果请求是动态请求,则无法命中CDN缓存。当客户端访问这些动态内容时,每次都需要访问用户的服务器,由服务器动态生成实时的数据并返回给客户端。
2、源站返回强制不缓存的HTTP头
当源站配置了以下响应头时,即使配置了缓存规则,CDN也不会对该资源进行缓存,因为这些响应头在CDN缓存规则中的优先级较高。
有s-maxage=0、max-age=0、no-cache、no-store、private中的任一种。
3、未返回响应头ETag和Last-modified
当CDN未配置缓存规则时,如果静态文件未返回响应头ETag和Last-modified,则该静态文件不能缓存在CDN节点上。可在源站配置返回ETag和Last-modified,或者直接在CDN上配置缓存规则。如何配置缓存规则,请参见配置缓存过期时间。
4、全站加速未配置静态加速
全站加速默认为动态加速,动态加速是每次回源的。如果需要进行缓存,则需要配置静态加速,如何配置静态加速请参见配置静态加速。目前配置静态加速支持按照文件类型、URI以及路径方式配置。如果全站加速没有配置静态加速的情况,则都是动态加速,全站加速节点响应的HTTP头没有X-Cache、X-Swift-CacheTime等字段,
