开发者社区> 张医博> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CDN-502 问题排查

简介:
+关注继续查看

浅谈:

502 问题就是客户端请求服务端超时而返回的一个网络 http 错误码,那么 502 一般是什么状态产生的呢?

如果三次握手失败一般都是返回的 504 ,网关超时。
三次握手成功,但是首包超时,或者客户端 read payload 超时,一般是 502 。
如果服务端应用处于不可用状态,一般是直接返回 500 。

分析:

  • 可以通过 ipip.net 解析其他地区覆盖的 CDN 节点,测试看看是否所有地区都是 502 。如果其他地区测试也都是 502 ,说明访问 CDN 出现了问题。还是只有个别 CDN 节点失败,如果个别 CDN 节点失败说明,和客户端的网络是有关联的。
  • 固定原站直接测试看下返回的状态是否是 200 ,如果原站都是 502 的话说明原站就有问题了。
  • 固定 CDN 节点访问 502 时,看看 CDN 节点的响应头,via 头中是否全部都是 M 的标志,如果都是 M 标志说明时 MISS 回源的过程中返回的 502 ,那可能和回源链路,或者原站有安全策略等关联。
  • 如果原站时国外或者国内,访问 CDN 需要跨过回源时,会经常出现 502 的情况,一般和国际链路出口阻断有关系,需要判断是否存在跨过回源的可能性。

案例:

客户搭建 nginx ,然后通过 proxy_pass 的方式替换域名请求头回到 CDN 出现了 502。

image

排查:

按照排查思路逐步测试。

1、我们自己客户端 curl 直接固定 CDN 节点发现测试时正常的 200 ,没有 502 的情况出现,说明 CDN 正常服务。

2、而用户端 proxy 的机器上就能复现,需要用户提供下 proxy 机器上 ping 到的 CDN IP 后,再固定 CDN IP 发现确实 502 了。但是用户表示固定我们提供的其他节点都是正常的返回 200 ,说明可能和节点有关。

3、根据用户提供的节点我们发现这个 IP 已经不再服务用户,而且 DNS 解析也并没有解析到对应的 IP 上,但是用户怎么访问到的呢?
经过沟通发现时用户绑定的 /etc/hosts 的方式进行 proxy 的,而之前的节点已经更新,用户没有及时更新导致。

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

相关文章
biostar handbook: 第六周笔记汇总
我突然发现我自己忘了整理第六周的笔记,好尴尬,趁现在补上。。 Biostar 第七课01 模式识别 Biostar第七课02 align到基因组 biostarhandbook(六)|正则表达式和K-mers在模式匹配中的使用 biostarhand...
734 0
biostar handbook: 第五周笔记汇总+第六周任务布置
简单总结下第五周的笔记: biostarhandbook(五)|序列从何而来和质量控制 YXF-测序仪和质量控制 Biostar学习笔记(5)测序平台、测序原理及质量控制 Biostar第六课 测序仪和QC 顺便发布第六周的任务: 第六周的任务是第十章和第十一章。
829 0
CDN问题
CDN问题
1098 0
+关注
张医博
喜欢钻研新的语言,动手实践自己想要学会的知识。
116
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载