问题概述
当使用CDN加速后出现访问异常如何初步排查是CDN造成的异常还是源站自身异常导致的。
排查步骤
步骤一:确认客户端网络环境是否正常
例如,通过浏览器访问百度页面,或者使用在线诊断工具,确认客户端自身网络环境是否正常。
可以通过搜索引擎搜索在线诊断工具,来获取方便定位客户端自身信息的工具。如客户端网络环境正常,则继续查看下一步。
步骤二:确认是否为CDN节点异常
通过浏览器F12开发者工具,我们可以轻松得到访问到的节点IP。
得到节点IP后,判断此IP是否归属于天翼云,详情请见:如何验证IP地址是否属于天翼云CDN节点IP。
如果IP不属于天翼云,进一步判断域名解析是否正常:可以通过nslookup(Windows)或者dig(Linux)来验证域名解析是否正常。
如果解析不符合预期情况且您域名的DNS配置无误,那么大概率遭遇DNS劫持。推荐您使用公共的DNS规避此问题。
如果IP归属于天翼云,那么进一步确认源站情况是否正常。
步骤三:模拟测试源站是否正常
以如下具体加速场景为例:
- CDN加速域名:ctyun.cn。
- 回源域名:host.ctyun.cn,解析出来的结果例如为1.1.1.1。
- CDN加速域名访问端口:80。
- 回源域名访问端口:8080。
当我们访问CDN加速域名得到异常响应时,例如403。
用户请求http://ctyun.cn/test.html得到了403状态码,并且确认IP正常访问到了天翼云CDN,这时候可以同步确认源站的情况。
方式1:修改Host文件(通常位于C:\windows\system32\drivers\etc),绑定源站测试
浏览器开启无痕模式,输入http://ctyun.cn:8080/test.html,看是否与CDN异常现象一致,如若一致,较大可能是源站出现了异常,CDN回源透传了源站的结果。
方式2:使用Curl命令工具进行验证
curl工具较为灵活,能测试多种情况,且无需频繁修改HOST文件,更为方便。
例如,本次的问题可以使用:curl -vo /dev/null 'http://ctyun.cn:8080/test.html' -x 1.1.1.1:8080 测试源站。
当curl绑定源站结果与绑定CDN结果一致时,较大可能是源站出现了异常,CDN回源透传了源站的结果。
如果上述windows或curl工具测试均显示源站正常,这时可通过提交工单给天翼云客服,由CDN技术团队为您进一步排查问题。