2020年3月23日,知乎突然全面积崩溃!
从2020年3月22日就不稳定,然后到了3月23日,很多用户访问知乎时,突然大面积崩溃,连欢迎页面都进不去了,直接产生了502 Bad Gateway异常!
这次知乎连首页面都进不去,那这是服务器被黑了?还是又一起删库跑路事件?或者是代码有重大问题?
作为一个程序员,我们就聊聊502异常吧!
502异常概念
502错误网关异常,是网站服务器通信出错的一种具体表现,其中“502“可不是胶水哦,而是HTTP协议中的一种报错类型代码,代表着它无法指示网站到底哪里出了问题。具体效果就是,当服务器遇到问题时,客户浏览网页后,网页就会显示502 Bad Gateway。如下图:
502异常解决办法
那么如何解决这个问题呢?我们将介绍五种常见的解决办法,可以解决大部分502错误网关故障。
1.检查服务器连接情况
大多数网站都是通过搭建多个服务器或第三方代理服务器来运行的。假如我们要访问的某个服务器,由于维护或其他原因关闭了,此时正好有人访问这个网站,浏览器上就可能会出现502 Bad Gateway页面!那么针对这种情况,唯一的解决办法就是等待服务器完成维护或是尽快修复好故障。
2.检查是否有人恶意更改了DNS信息
第二种情况就是有人近期更改了主机服务器,或者是将网站移动到了其他IP地址下,这样就会更改网站的DNS服务器。这也可能导致该网站无法访问,出现502 Bad Gateway 页面。在这些DNS更改完成之前,你的网站可能需要几个小时才能启动并运行。结合今天知乎突然大面积崩溃,但是又是白天且持续时长只有半个小时的现象来判断,应该不是这个原因!
3.检查服务器日志内容
我们都知道,服务器在运行期间,每时每刻都会产生日志文件,而这个服务器日志的工作任务就是记录网站被访问的全过程,包括什么时间段内都有哪些人来过,干了什么事情,这个日志文件都会记录下来。所以我们可以通过这个日志文件来检查网站的健康状态,进而可能会找出问题所在。
4.修复防火墙可能存在的故障
网站防火墙就好比是一道隔离墙,可以保护我们的网站免受非法用户的侵入和分布式拒绝服务(DDOS)的攻击。但有时会因为防火墙设置错误而导致防火墙将从内容分发网络(CDN)过来的访问请求视为对服务器的攻击,因此拒绝其访问,从而导致502错误网关。难道今天知乎是因为自己内部的防火墙造成的?
5.让程序员赶紧检查网站代码查找漏洞
网站的代码如果有bug,出现了错误,服务器也可能无法响应来自内容分发网络(CDN)的请求。所以我们也要检查服务器部署的代码,看看是不是因为程序员的问题而造成的502异常。但是看今天的表现,知乎属于全方位崩溃,移动端和web端都崩了,而且知乎这么大的项目,不可能不采用分布式的微服务架构,所以应该不是代码原因造成的,程序员表示我们可不背这个锅!
HTTP状态码
其实开发中,除了502异常之外,HTTP的状态码还有其他从1xx,2xx,3xx,4xx,5xx等不同的状态码,你都知道吗?
截止到2020年3月23日12点30左右,知乎恢复了服务器的正常使用!502异常解决!看来知乎的技术团队还是做的很好的!
好了,不管什么原因吧,作为吃瓜群众的我们,对知乎今天的崩溃事件,我们只能淡定的看着,反正受损的也不是我们这些吃瓜群众。