云计算之路-阿里云上:访问阿里云CDN上的图片,自动跳转到百度首页

昨天有用户向我们反馈一篇博文(一条语句导致CPU持续100%)中的部分图片不能显示,我们的图片访问用的是阿里云CDN,原以为是某个CDN节点不稳定的问题,但在排查时发现这些图片不能显示竟然是因为请求时被阿里云CDN节点自动重定向到了百度首页。

由于我们的源站并没有任何重定向到百度首页的操作,所以我们怀疑是阿里云CDN节点出了什么异常状况,于是向阿里云进行反馈,阿里云工程师排查后怀疑可能是CDN回源时被运营商劫持了。这是一个被我们所忽略的问题点,之前我们只关注用户端与服务器之间的运营商劫持,而忽视了CDN节点与源站之间的运营商劫持,而且这个劫持的危害更大,因为劫持的内容会被CDN节点长期缓存,所有访问这个节点的用户都会受影响。

虽然运营商劫持的确可以引发这个问题,但想不通的是劫持的结果是为什么是重定向到百度。。。因为无法验证,回源时被运营商劫持只能作为一个怀疑点。但有一个点是可以验证的,就是问题是不是因为当时的回源引起的,只要现在刷新缓存看是否恢复正常。刷新后,很快恢复正常,的确是回源引起的,不是CDN节点本身的故障。不管是不是运营商劫持引起的,回源时使用https是必然要采取的措施,这是这次问题带给我们的教训与收获,分享出来也希望提醒一下和我们一样忽视这个环节的朋友。

另外,针对这个问题,给阿里云的建议:

1)是否可以考虑在CDN“源站设置”页面中增加一个提示,提示用户尽量使用https回源。

2)是否可以让用户可以设置不缓存源站的302响应,“劫持->302->缓存”这样的302劫持可以让劫持者四两“劫”千斤。

18:42更新:后来发现问题的真正原因是我们配置的源站IP中有一个IP地址被释放了。

posted @ 2017-09-20 14:36  博客园团队  阅读(2471)  评论(2编辑  收藏  举报