开发者社区> 优惠码发放> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【CDN 最佳实践】CDN访问异常排查思路

简介: 当客户使用 CDN 加速站点访问时可能出现问题涉及到多级网络链路的问题难以排查。如何尽快定位并解决问题就成为疑难问题,本文将根据系统介绍如何定位 CDN 资源无法访问的问题点以及处理的思路。
+关注继续查看

当客户使用 CDN 加速站点访问后,客户端的请求将首先发送到 CDN 的 L1 节点,再通过 L1 -> L2 -> 源站的网络路径回源获取资源。因此如果访问过程中出现问题就可能涉及到多级网络链路的问题。如何尽快定位并解决问题就成为疑难问题,本文将根据系统介绍如何定位 CDN 资源无法访问的问题点以及处理的思路。

域名配置和解析

当某个站点的资源 URL 访问出现异常时首先需要查看的即是对应的域名是否有正确配置解析到 CDN 上。如图 1 所示即是 CDN 加速域名的基本配置截图,从图中我们可以查看到该加速域名对应的 CNAME 域名、源站设置等设置。其中需要特别注意的是:

  1. 源站设置的地址或者端口是否正确。 CDN 作为访问链路中间的 Proxy ,真实的数据在没有缓存的情况下是仍然需要回源获取访问的数据的,因此用户需要保证 CDN 节点通过源站设置和回源 Host 设置可以正确的获取得到资源内容。
                                        image

                                                                        图 1. CDN 域名配置示意图

  1. 源站设置和回源 Host 的区别。源站设置用户是可以选择域名和 IP 的。不管是设置为域名还是 IP , CDN 都会将其解析到 IP 的。因此当域名解析的 IP 与直接填写IP的话两种设置是没有区别的。而当该 IP 对应的服务器上配置了多个站点的话就需要根据回源 Host 来决定的,回源 Host 是指 CDN在回源的请求会带有 Host 字段,而字段带的是真实需要访问源站上对应的站点(也就是对应的服务器上对应站点的 server_name)。详细请参考:回源Host的意义
  2. 用户源站是否支持 CDN 回源到 443 端口或者开启协议跟随回源。当 CDN 的源站端口设置为 443 或者开启协议跟随回源功能时是需要源站配置证书并提供 https 证书的。因此如果源站不支持 https 的话是需要您设置源站端口为 80 并且不要开启协议跟随功能。协议跟随回源的功能详细请参考:协议跟随回源功能介绍
  3. DNS 解析是否正确解析到 CNAME 域名上。CDN 加速域名要生效是需要解析能够正确的解析到 CDN 的 CNAME 域名上的,如果 dns 解析没有解析或者解析的 CNAME 域名没有正确对应的话是会产生异常的。例如上图 1中提供的例子在图 2 中的主机记录需要填写 ali-cdn ,而记录值则填写完整的 CNAME 域名(ali-cdn.xxxxx.com.w.alikunlun.com),详细的域名解析设置请参考:DNS解析设置介绍
                                        image

                                                                        图 2. CDN 域名解析示意图

CDN 到源站异常

在确定 CDN 解析配置正确后仍然访问异常那么我就需要按照 CDN 的访问链路来逐项排查。首先我们需要确定的即是访问异常的情况是全局现象还是局部现象的话,如果是全局情况的话一般问题出现在 CDN 本身的设置以及源站的设置上。可以按照如下的逻辑逐条排查:

  1. 请首先核对是仅有 HTTPS 访问出现问题还是 HTTP 和 HTTPS 出现问题。如果仅是 HTTPS 出现问题一般是 CDN HTTPS 的配置问题,其排查思路建议可以参考下: HTTPS 问题排查思路,如果是 HTTP 和 HTTPS 均有问题请转 2 。
    2、在 HTTP 和 HTTPS 都出现问题时我们需要首先查看 CDN 的源站是否正常。用户可以通过绑定 host 测试源站的响应情况。由于 CDN 仅是中间的代理服务器,当 CDN 没有缓存需要回源时就会回到源站访问,因此源站访问正常是 CDN 可以访问的条件。对于 windows 系统可以通过 C:WindowsSystem32driversetchosts 文件配置 host 绑定,而 mac 和 linux 系统则都可以通过 /etc/hosts 文件进行修改。如果这时测试访问异常就需要用户首先排查源站的原因,如果源站响应正常可以转 3。

3、请查看 CDN 的域名状态是否在沙箱节点中,可以通过 CDN 控制台上的状态查看到当前域名是否有在沙箱节点(如图 3 )。由于 CDN 是不抗任何的 CC 或者DDoS 攻击的,而您的该域名 XXXXX 由于历史受到攻击,所以被切沙箱节点,沙箱节点是不能保证服务的稳定性的,且一旦域名切入沙箱节点不支持切出。建议如果是希望进行安全防护的话可以考虑使用云盾相关的产品进行安全防护,具体的架构可以参考:高防IP、CDN与WAF的架构设计。如果不是沙箱节点请转 4。
                                    image
                                                                        图 3. CDN 沙箱状态示意图


4.1. 请核对 CDN 返回的状态码是否是 503 ,一般 503 是由于源站做了安全控制导致的,请用户查看下源站的安全防护功能(例如防火墙、安全狗等软件),建议可以临时关闭源站的安全防护措施后测试是否恢复。CDN 现在 L2 节点的 IP 段暂时需要通过白名单开放,当前仅支持日峰值带宽为 1Gbps 以上的用户申请,详细请参考:CDN L2回源IP接口申请
4.2. 请核对 CDN 返回的状态码是否是 504,504 错误一般为 CDN 回源到源站超时导致的。CDN 回源有严格的超时时间(四层 TCP 是 10 秒,七层HTTP / HTTPS是 30 秒),当超过该时间时即使后续源站响应正常也是会返回 504 的。因此建议使用 CDN 的站点都做动静分离改造,因为部分动态资源可能出现 30 秒仍然无法响应的。
4.3. 请核对 CDN 返回的状态码是否是 403 。首先需要核对源站响应是否为403,如果是的话则排查源站的配置,如果是源站正常但是 CDN 访问出现 403 的话主要是由于 CDN 的安全控制导致的,CDN 提供的安全控制功能包括 IP 黑名单、Referer 防盗链以及鉴权功能,详细的功能介绍请参考:IP 黑名单功能介绍
Referer 防盗链功能介绍
鉴权功能介绍
4.4. 请核对 CDN 返回的状态码是否是 404 。在保证源站正常时一般是由于CDN 的源站地址和回源 Host 的设置导致回源无法获取资源内容因此报了 404 的错误。建议您可以参考下上述第一部分的第二点内容。

客户端到 CDN L1 网络异常

由于 CDN 仅是缩短客户端到源站的运营商网络链路,但是仍然无法避免需要从客户端访问到 CDN L1 节点中间通过运营商网络访问。因此客户端访问异常仍然是可能受该段链路的波动所影响。建议遇到此类问题可以先收集以下信息:
   1)具体访问异常的 URL;
   2)访问 CDN 的节点 IP,您可以通过 ping 加速域名得到;
   3)客户端访问的报错信息,请包括 general、request、response 头信息,您可以通过浏览器中的审查元素中的 network 标签页中查看到;
   4)客户端访问 https://cdn.dns-detect.alicdn.com/https/doc.html 的结果;
   5)客户端 ping / mtr 的测试结果。
获取上述信息后可以按照如下的思路进行排查:

  1. 可以根据上述第四条中获取得到的客户端的 local dns 和 ip 是否是属于同一地域的同一运营商的,因为 CDN 的节点调度是根据 local dns 进行调度的,如果客户配置的 local dns 与本地实际的客户端运营商不相匹配就会导致 CDN 调度的节点异常导致链路出现问题的。建议使用 CDN 的客户端可以使用自动获取的 dns 服务器。如果确认 local dns 和 IP 设置正确的转 2 。
  2. 请查看上述第二条中的信息是否与客户端local dns 对应的运营商匹配,另外地理位置较为接近,如果不接近的话建议可以通过工单反馈给售后工程师进行处理。如果确认正常请转
  3. 请查看上述第五条中的信息核对客户端到 CDN 该节点访问是否存在丢包的情况,并且可以 mtr 的测试结果查看到具体丢包的节点,如果这段运营商链路出现丢包的话建议可以联系当地的运营商沟通该丢包情况。另外根据 CDN 的调度原理可以临时修改客户端的 local dns 为一些公共的 DNS 服务器(可以考虑修改为 223.5.5.5 或者 223.6.6.6 ),使用别的 CDN 节点以及其对应的链路临时恢复业务。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云CDN-金融政企CDN最佳实践
对云存储和云网络来说,CDN是相对中心化的东西,要给全球不同的网络访问,中间还有一些链路上的问题。阿里云视频云产品架构师南淼在2018云栖大会·上海峰会中做了题为《阿里云CDN-金融政企CDN最佳实践》的分享,就阿里云CDN、金融政企主要产品与解决方案、阿里云CDN+、阿里云CDN服务体系等方面的内容做了深入的分析。
2945 0
HTTPS时代来临,阿里云CDN如何助力企业网站提升安全系数
今年年初,Google在其安全博客上已经表明,从7月开始,chrome68会将所有的HTTP网站标记为不安全。随后,Mozilla也表明,Firefox浏览器也准备将所有HTTP网站标记为不安全。届时,我们再去访问HTTP网站的时候,可能就会在地址栏里显示大红色的惊叹号,而且会提示不安全。
4835 0
HTTPS时代的到来是大势所趋!阿里云CDN如何助力企业网站进入HTTPS时代
无论是从Google的Chrome还是Mozilla的Firefox的数据统计来看,都可以表明未来一定是HTTPS的时代,并且这个时代已经离我们越来越近了。在本文中,阿里云技术专家王祖熙就为大家分享了阿里云CDN如何助力企业网站进入HTTPS时代。
2269 0
Discuz 论坛附件、头像等资源迁移到阿里云 OSS 并开启 CDN 的解决方案
Discuz 论坛的附件、头像等资源不断增长,如果和主程序一起存储在云服务器上,就会导致云盘要定期进行扩容操作;附件如果需要进行 CDN 加速也只能使用回源策略进行 CDN 配置。为了一劳永逸的解决附件存储和加速问题,将附件等资源迁移到对象存储服务上是一个好的选择,本文以阿里云 ECS、OSS 服务为背景,其他云计算平台也可以参考。
7512 0
阿里云朱照远:AI+超高清+边缘计算是下一代CDN的核心
近日,2018亚太CDN峰会在北京举行,相比去年弥漫的“降价”硝烟,这一次阿里云等云厂商的核心不再是价格,更多的是专注技术领域的创新,包括展示了人工智能、8K、边缘计算等新技术在视频、物联网行业的应用。
4186 0
亚太CDN峰会,阿里云王海华解读云+端+AI的短视频最佳实践
4月11-12日,2018亚太CDN峰会在北京隆重召开,在11日下午的短视频论坛中,阿里云高级技术专家王海华进行了《短视频最佳实践:云+端+AI》的主题演讲,分享了短视频的生命周期关键点和阿里云技术解决方案。
6846 0
双喜临门!2018春节流量破纪录 阿里云CDN被Gartner评定为全球级
每逢春节胖3斤 互联网也是如此 狗年春节期间 互联网流量增长迅猛 阿里云CDN承载了其中绝大部分 流量和带宽峰值均创下历史新高! 云技术的不断精进 让我们过了一个 春节不打烊的云上中国年 流量峰值激增 互联网春节不打烊 视频拜年、抢红包送五福、出行靠手机等多重因素推动了流量的增长,工信部数据显示,春节假期7天,移动互联网流量消费了84.9万TB,同比增长236%。
4258 0
春节互联网流量峰值破纪录 Gartner最新CDN报告将阿里云评为全球级
网上看春晚、网购年货新三样、集五福抢红包,互联网为春节注入了新的娱乐玩法。承载大部分互联网业务的阿里云透露,2018年春节期间的互联网流量峰值增长迅猛,创下了历史新高。与此同时,阿里云在Gartner最新全球CDN报告中被评定为“全球级”。
2156 0
CDN价格下调25%,阿里云再次释放技术红利
依托阿里云快速迭代的技术和与日俱增的规模效应,2017年11月22日云栖大会·广东分会上,阿里云重磅宣布CDN产品已实行全线降价,降幅高达25%。此轮降价完成后,带宽单价最低只需0.54元/Mbps/天,流量单价最低只需0.15元/GB,再创国内最低价。
3103 0
+关注
优惠码发放
阿里云优惠码阿里云推荐券bieryun.com
569
文章
4
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载