
# 接入CDN后，网页显示的内容/下载文件/播放的视频不正确
#### 问题现象
接入CDN加速后，用户访问网站或者APP时，显示的内容不正确、下载的文件不正确、播放的视频不正确。
#### 排查思路
- 是否缓存规则设置有误
- 是否本地缓存的问题
- 资源更新后节点未刷新
- 是否多个源站文件不一致
- 是否访问资源被劫持
 
#### 排查步骤
1. **检查域名缓存规则配置**
   1. 可能是缓存规则配置不正确，基本的缓存过期时间设置建议如下：
      - 对于动态文件（如php、jsp、asp等），请设置成0秒，即不缓存，每次请求都回源获取。
      
      - 对于不经常更新的静态文件（如.jpg、.zip等），建议将缓存过期时间设置成1个月以上。
      
      - 对于频繁更新的静态文件（如js、css等），请根据实际业务情况设定。
       
   
   2. 可能是缓存优先级设置不正确，导致缓存设置未生效。优先级取值范围为1-100，数值越大优先级越高。 示例：您需要设置一条.jpg文件，缓存过期时间为2天的规则，设置如下：
      ![](https://support.huaweicloud.com/trouble-cdn/zh-cn_image_0000001875819900.png "点击放大")
      图中两条缓存规则：所有文件缓存过期时间为30天，优先级为8，.jpg文件缓存过期时间2天，优先级为2。当用户请求访问某.jpg文件时，由于所有文件这条优先级较高，会自动匹配，文件在CDN节点的缓存时间为30天而不是您期望的缓存2天。
      
   
   3. 更多缓存设置请参考[如何设置缓存过期时间](https://support.huaweicloud.com/bestpractice-cdn/cdn_01_0133.html)。
    
2. **确认是否是本地缓存** **问题**
   请清除浏览器缓存后再测试，确认是否是浏览器缓存的问题。
   
3. **源站更新资源** **而CDN节点未刷新**
   如果您的源站内容更新，没有在CDN执行刷新操作，CDN节点缓存的旧内容还未过期，此时用户请求依然会返回旧资源。您可以通过以下两种方式进行手动刷新。
   1. 登录[华为云控制台](https://console.huaweicloud.com)，在服务列表中选择"CDN"，左侧菜单栏选择"预热刷新"，在缓存刷新页签完成刷新操作。
   
   2. 通过CDN服务所提供的缓存刷新、缓存预热API接口，主动调用CDN API接口来更新CDN缓存，详见[API参考](https://support.huaweicloud.com/api-cdn/cdn_02_0028.html)。
     
4. **排查是否是多个源站文件不一致导致**
   - 源站使用了负载均衡设备，后端存在多个服务器且它们存放的文件不一致。
   
   - CDN添加了多个源站，不同源站的文件不一致。
   
   
   如果是以上两种情况导致，请您将源站侧资源统一，以免用户获得错误文件。
   
5. **检查资源访问是否被劫持**
   请排查您的资源访问是否被劫持，如果资源被劫持，请您通过配置HTTPS等方式提高您的安全防护等级。常见的判断劫持的方法如下：
   - 访问网站后响应302，但是location地址不是源站期望跳转的地址。可以通过在客户端浏览器Chrome上输入需要访问的URL，按F12，选择"Network"\>"headers"\>"Response Headers"\>"location"查看。
   
   - 访问网站后，页面显示的内容不是您的业务内容。
    
如果排除以上几点后问题仍然存在，请联系客服或[提交工单](https://console.huaweicloud.com/ticket/?&locale=zh-cn#/ticketindex/createIndex)处理。
