开发者社区> 问答> 正文

CDN某个地域节点访问异常,怎么办?

CDN某个地域节点访问异常,怎么办?

展开
收起
行者武松 2018-02-02 14:46:44 2478 0
1 条回答
写回答
取消 提交回答
  • 阿里云ping https://ping.gaomeluo.com/aliyun/

    解决方案

    问题1:某地区用户ping不通CDN的加速域名

    排查用户的加速域名是否在沙箱节点中(目前可以在CDN控制台得知其加速域名是否在CDN沙箱节点)。以ycc.pier39.cn为例,域名在沙箱中,则控制台域名状态提示会如下图所示:

    image.png | center | 763x291

    沙箱中的域名无法保证服务稳定性,所以会存在ping不通的情况,此时可能沙箱正在受到攻击。

    根据提交的Ping截图,拿到所访问的节点IP,核实该IP是否是CDN节点IP,以IP:1.2.3.4,域名zihu-live.pier39.cn为例,请按照这里的方法核查是否该IP为CDN节点。

    如果用户的访问节点不是CDN节点IP,需要用户核实几个情况:

    用户本地是否有开启代理软件(有些代理软件会强制更改访问域名的解析情况)。
    用户是否有绑定Host文件,将加速域名强制解析到了某个IP。
    用户本地存在DNS劫持,这种情况,让用户本地开启杀毒安全软件,并且固定本地所使用的DNS为阿里的223或者电信的114或者其他知名的DNS,如果劫持情况比较严重,并且无法解决,则需要向你的网络服务提供商投诉要求解决劫持。
    自己本地实际ping该节点IP,以及使用站长工具(比如17ce.com或者听云平台)在全国探测该节点IP,是否存在问题(问题现象:各个地区访问该节点均延迟均较大或者不通,自己本地也Ping该节点不通),这种情况该节点存在问题的可能性较大(结合步骤1确认好域名确实没有在沙箱中)。

    让用户本地使用tracert(win主机)或者traceroute(linux主机)到该IP进行探测并提供完整探测截图,根据得到的截图确定整个网络链路的问题点。MTR信息判断方法:目的节点丢包率为100%,并且从目的节点往前一直找到第一个开始丢包的节点(中间不能有丢包率为0%的路由节点),则第一个开始丢包的路由节点是问题路由的可能性较大。详细排查步骤可以参考这篇文章。

    也可以给阿里云技术同学进行排查。在此期间缓解用户问题的方法:让用户更改本地所使用的localDNS为其他DNS(比如电信的114或者阿里的223)并且刷新本地的DNS缓存,使其调度到其他正常的节点,走另外一条线路,则该问题可能得到缓解。

    问题2:源站更改文件之后,某个地区的用户从CDN节点上拿到的还是更改之前的文件

    让客户提交ping CDN加速域名的截图,拿到客户访问的节点IP。

    判断该节点是否是CDN的节点,判断方法请看问题1的步骤2。

    根据CDN的配置,绑定客户提供的CDN节点,以及CDN的源站(绑定用户源站测试的时候,注意一下用户CDN的回源Host配置,举例:如果用户CDN加速域名为A,源站域名为B,回源Host配置的为A,那么测试源站的时候,以curl来说,命令应该为curl -H “Host: A” “B”;如果是绑定Host文件,那么应该将用户的CDN加速域名绑定Host到源站域名所解析出来的IP上),绑定源站测试的时候,还要注意一下源站回源端口的设置,不同的回源端口得到的访问结果也可能是不一样的;分别测试得到response header相关信息,判断是否如客户所说访问的文件会是不一致。

    这里判断是否一致,着重看几点:

    content-length大小是否一致
    last-modified(如果有):修改时间是否一致
    Etag/Content-Md5(如果有)是否一致
    上述三点只要有任何一个是不一致的,那么均可认为源站和节点上文件的确是不一致的,上述三点中,条件允许(意思是几个信息都有的情况下)其中第三点是最具备判断依据的点。

    image.png | center | 848x544

    上述步骤确认都OK,并且最终还是拿到节点上文件的确和源站文件不一致的情况下,那么建议用户刷新该URL,等待约10分钟之后再去测试(刷新生效时间约为5~10分钟),如果多次刷新之后问题仍未解决,请提交工单。

    问题3:某个地区用户访问CDN加速域名上拿到的非其站点文件内容

    判断用户访问的IP是否CDN的节点IP,方法看问题1的步骤2。

    排查是否CDN节点本身缓存了非用户站点上的文件,思路可以按照问题2系列步骤进行,下面针对用户客户端到CDN L1这一段链路进行方法排查用户在能够复现问题的情况下,使其使用浏览器开发者工具,切到network标签下,浏览器地址栏键入访问URL然后回车访问,network标签下,点击用户访问的那个URL,截图general /request header,看看用户实际的访问情况,报错request URl、remote ip、requestUrl主要看访问形式是否如http://x.x.x.x/cache/CDN的访问URL或者remote IP非CDN节点IP,如下图这种则是劫持:

    image.png | center | 766x357

    需要联系其本地运营商投诉处理,解除劫持。

    2019-07-17 21:57:51
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
构建智能化的视频系统 阿里云CDN的进化 立即下载
CDN数据化实践 立即下载
直播CDN-X - 白山直播CDN流传递链路优化 立即下载