【问题现象】

某游戏客户在新发布游戏时,部分玩家反馈游戏APP无法下载到手机上。

【排查过程】

1、对比不同区域,不同手机型号和三大运营商的网络,问题现象进一步锁定:不同地方的联通网络的手机下载游戏失败。

2、分析下载失败的错误提示, “502 Bad Gateway”表示CDN加速域名返回失败,可能CDN中无缓存,回源也失败了。

3、分析CDN加速域名的回源规则,失败的json文件属于要缓存的静态文件。向客户确认,由于待缓存的文件比较多,为了避免麻烦,就没有做预热操作。(注:预热能够提前将文件缓存到CDN,可以规避问题)

4、分析CDN日志,搜索手机错误提示的文件“0ef.json”,发现在CDN缓存都miss(没有命中),日志的下一行就是回源记录。

5、给华为云提工单,反馈问题。华为云售后人员在CDN的服务器抓包模拟向主机回源获取同一个文件,发现源站(阿里云上的主机)拒绝了回源请求,返回的错误是:RST。

6、华为云售后人员反馈,可能是阿里云 云盾对CDN回源做了屏蔽。

7、百度一下“CDN回源 被 阿里云拒绝”发现有案例。详情见:https://www.sojson.com/blog/266.html

8、华为云后端用的是网宿的CDN、网宿CDN可能调度有问题,通过联通网络的请求,大部分回源都通过某个节点来操作,导致了阿里云误判是该节点在攻击,因此拦截了回源请求。

【临时解决办法】

1、华为云后端据说联系了网宿进行了紧急处理,问题先规避了。具体措施保密。

【彻底解决办法】

1、阿里云控制台页面-云主机-云盾-设置-安全配置-登录IP拦截加白(点此设置),进入安全管理页面-白名单管理-CDN白名单,将“网速科技”加入到白名单。

2、阿里云设置白名单:

https://help.aliyun.com/knowledge_detail/37914.html?spm=a2c4g.11186623.6.572.5cfe1cd7kOBt29

【扩展知识】

  1. 对于新游戏上线,最佳的做法是将所有待缓存的文件,提前手动进行预热,这样CDN就缓存了游戏下载包,第一批玩家下载时就能获得较快的下载速度。本案例中,如果客户提前预热,则可以规避此问题。
  2. CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。通过哪个边缘服务器来回源,就是中心节点进行控制的。

【CDN学习笔记6】CDN回源到阿里云主机被拒绝的案例相关推荐

  1. MQTT学习笔记(1)--网络调试助手连接阿里云物联网

    初探 MQTT的网络调试助手通信测试 上手之前觉得很有难度,但是当你慢慢上手,你回过头来,你会发现哦,原来是这样的啊! 这里用的平台是阿里云的物理网平台所以有必要要介绍一下如何使用平台,如何申请,和白 ...

  2. Android学习笔记-常用的一些源码,防止忘记了

    Android学习笔记-常用的一些源码,防止忘记了... 设置拨打电话 StringdialUri="tell:"+m_currentTelNumble; IntentcallIn ...

  3. Git学习笔记:中国版GItHub,码云

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  4. oracle 表复制 long,【学习笔记】Oracle数据库使用copy实现long类型转移表空间案例 ORA-00997...

    天萃荷净 使用copy实现long类型转移表空间,表空间的数据文件损坏,在转移该表空间相关表时,遇到让人郁闷的long类型.不能使用ctas和move来实现转移,最后通过古老的copy来实现该项工作. ...

  5. oracle事务数统计,【学习笔记】Oracle数据库收集统计信息的两种方法介绍案例

    天萃荷净 分享一篇关于Oracle数据库收集统计信息的办法,Oracle DBMS_STATS与Oracle analyze使用方法案例 今天群里面讨论DBMS_STATS和analyze,这里进行了 ...

  6. Android学习笔记第五篇--网络连接与云服务(一)

    Android学习笔记第五篇–网络连接与云服务 第一章.无线连接设备 ​ 除了能够在云端通讯,Android的无线API也允许在同一局域网内的设备通讯,**甚至没有连接网络,而是物理具体相近,也可以相 ...

  7. Esp8266进阶之路12 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏灯!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  8. Shiro学习笔记(三)源码解析

    Shiro作为轻量级的权限框架,Shiro的认证流程是怎样的一个过程. 如果没有对Shiro进行了解的话,建议先对Shiro学习笔记(一)学习一下Shiro基本的组 成. 1,几大重要组件解析 1.1 ...

  9. Linux学习笔记——Ubuntu更新软件源

    0.前言     通过改动ubuntu软件源可提高apt命令下载安装软件的速度.     參考资料     [官方资料]--配置文件改动方法     [Ubuntu如何改动软件源地址]--使用ubun ...

  10. kali linux教程:配置 Kali 的 apt 命令在线安装包的源为阿里云

    配置 apt 国内源 因为 Kali 自带的源是国外的,经常会因为网络问题,而无法安装戒更新软件包.而且国外的源速度很慢.所以我们直接使用国内的源,方便快速. 点击终端按钮戒者右键桌面选择 open ...

最新文章

  1. Lua笔记6 编译、执行与错误
  2. linux的消息机制,linux消息机制的过程是什么啊,请赐教
  3. cocos2d-x 3.8.1的骨骼动画加载方法addArmatureFileInfo仍然存在问题
  4. android 跑分软件,跑分软件安兔兔公布了6月份Android手机性能榜TOP10
  5. HTTP的 Basic 验证
  6. java之static关键词的作用
  7. elementUI vue 编辑中的input的验证残留清除
  8. spring 上下文_一次性教你彻底理解 Spring容器和应用上下文!
  9. python使用工具简介介绍
  10. c语言qsort函数源码,qsort源代码分析
  11. 交换知识 VLAN VTP STP 单臂路由
  12. ZigBee开发(1)--开发环境搭建
  13. C语言 - MISRA代码规范
  14. Markdown数学公式语法、常用符号与字体
  15. JAVA入门:猜大小程序
  16. 电脑运行java程序很卡_我的世界卡运行不流畅解决办法
  17. catia锥齿轮cad三视图_catia直齿圆锥齿轮有限元分析
  18. Java解析XML的一些个人总结及感悟。(webService、xml、xsd)
  19. 读者网作者发布次数统计爬虫(三种实现方法)
  20. 结束拒绝访问的进程 cmd下结束进程 强行结束进程 1

热门文章

  1. cd linux安装驱动程序,给CDlinux增添网卡驱动失败的原因和对策
  2. WinRAR下载官方免费版
  3. PC端微信打不开小程序解决
  4. 前端请求报错Provisional headers are shown接口请求失败
  5. C语言中取值符(*)与取地址符()
  6. LaTeX种数学符号公式编写
  7. 每天一kernel:正太概率图
  8. 使用cd-hit对核酸序列或氨基酸序列聚类
  9. C语言学习教程免费分享
  10. 把filedia设置为0可以不弹出对话框保存文件