更新时间:2024-06-06 GMT+08:00
接入CDN后,网页显示的内容/下载文件/播放的视频不正确
问题现象
接入CDN加速后,用户访问网站或者APP时,显示的内容不正确、下载的文件不正确、播放的视频不正确。
排查思路
- 是否缓存规则设置有误
- 是否本地缓存的问题
- 资源更新后节点未刷新
- 是否多个源站文件不一致
- 是否访问资源被劫持
排查步骤
- 检查域名缓存规则配置
- 可能是缓存规则配置不正确,基本的缓存过期时间设置建议如下:
- 对于动态文件(如php、jsp、asp等),请设置成0秒,即不缓存,每次请求都回源获取。
- 对于不经常更新的静态文件(如.jpg、.zip等),建议将缓存过期时间设置成1个月以上。
- 对于频繁更新的静态文件(如js、css等),请根据实际业务情况设定。
- 可能是缓存优先级设置不正确,导致缓存设置未生效。优先级取值范围为1-100,数值越大优先级越高。
示例:您需要设置一条.jpg文件,缓存过期时间为2天的规则,设置如下:
图中两条缓存规则:所有文件缓存过期时间为30天,优先级为8,.jpg文件缓存过期时间2天,优先级为2。当用户请求访问某.jpg文件时,由于所有文件这条优先级较高,会自动匹配,文件在CDN节点的缓存时间为30天而不是您期望的缓存2天。
- 更多缓存设置请参考如何设置缓存过期时间。
- 可能是缓存规则配置不正确,基本的缓存过期时间设置建议如下:
- 确认是否是本地缓存问题
请清除浏览器缓存后再测试,确认是否是浏览器缓存的问题。
- 源站更新资源而CDN节点未刷新
- 排查是否是多个源站文件不一致导致
- 源站使用了负载均衡设备,后端存在多个服务器且它们存放的文件不一致。
- CDN添加了备源站,主源站和备源站的文件不一致。
如果是以上两种情况导致,请您将源站侧资源统一,以免用户获得错误文件。
- 检查资源访问是否被劫持
请排查您的资源访问是否被劫持,如果资源被劫持,请您通过配置HTTPS等方式提高您的安全防护等级。常见的判断劫持的方法如下:
- 访问网站后响应302,但是location地址不是源站期望跳转的地址。可以通过在客户端浏览器Chrome上输入需要访问的URL,按F12,选择“Network”>“headers”>“Response Headers”>“location”查看。
- 访问网站后,页面显示的内容不是您的业务内容。
如果排除以上几点后问题仍然存在,请提交工单处理。