|
周一早上九点,公司销售部老张端着咖啡刷新公司官网,网站无法页面卡在加载圈转了十几秒,访问然后弹出一行白底黑字:“无法访问此网站”。回事他以为是公司自己网络的问题,换了手机4G,网站无法还是访问一样。跑到技术部一问,回事三个人正围着屏幕吵——网站确实挂了,公司而且从凌晨三点就挂了,网站无法监控告警被淹没在周末的访问营销短信里,没人看见。回事 这事不稀奇。公司公司网站打不开,网站无法原因翻来覆去就那么几类,访问但每次出事,总有人先怀疑“是不是被黑了”,然后开始脑补数据泄露、客户投诉、老板发火的连环画面。实际上,大多数情况没那么戏剧性。 先说最没技术含量的:域名到期了。我见过一家做工业零件的公司,网站突然打不开,技术外包说服务器没问题,最后查出来是域名注册商发续费邮件被归进了垃圾箱,财务没收到付款提醒,域名被暂停解析。整个过程没人犯错,但网站就是没了。域名这东西,平时没人记得它,出事的时候它比服务器还致命——服务器挂了还能换IP,域名被hold住,你连入口都找不回来。 服务器本身的问题更常见。磁盘写满、内存溢出、被DDoS攻击、机房断电、云服务商那台物理宿主机挂了。去年有个客户,网站每天下午三点准时卡死,运维查了一周,发现是某个定时任务生成了巨量日志文件,把磁盘撑爆了。这种问题有个特点:它不挑时间,但往往挑你最忙的时候发作。周末凌晨挂掉算运气好,工作日大白天挂掉,客服电话能被打爆。 DNS解析故障是另一个坑。用户输入网址,浏览器要先问DNS服务器“这个域名对应哪个IP”。如果DNS服务商那边出问题,或者你自己在域名后台改了解析记录但还没生效,用户看到的就是“找不到服务器”。这种故障有个迷惑性:你ping域名可能通,但浏览器就是打不开,因为浏览器走的是另一套解析缓存。清缓存、换DNS、等TTL过期,三板斧下去,有时候能好,有时候只能干等。 还有一类是“自己人干的”。前端发版把配置文件写错了,Nginx重启失败,防火墙规则改了一条把80端口封了,SSL证书过期没续。SSL证书过期这事特别典型——浏览器现在对证书过期的网站直接拦截,连“继续访问”的按钮都不给,用户看到的就是一片红警告。我见过一个电商站,证书过期三天,老板以为被竞争对手攻击了,其实是运维交接的时候忘了这茬。 怎么判断是哪种?有个粗糙但管用的办法:先看是所有用户都打不开,还是只有你自己。用手机流量试,用在线工具试,让外地朋友试。如果只有你打不开,大概率是本地DNS或者代理问题。如果所有人都打不开,再去看域名到期没、服务器ping得通不、HTTP端口通不通。ping通但网页打不开,多半是Web服务挂了或者防火墙拦了。ping都不通,那就是服务器或者网络层的事。 公司网站这东西,平时像个摆设,真挂了才发现它连着多少东西——客户询盘、在线支付、招聘页面、甚至印在名片上的二维码。修是肯定要修的,但更值得琢磨的是:为什么每次都是用户先发现?监控系统是摆设吗?告警发到谁手机上了?有没有备用方案? 老张公司那次,最后查出来是云服务商那边一台负载均衡器故障,切换备用节点花了四十分钟。技术部事后加了条规矩:监控告警同时发到三个人的钉钉,周末轮值。这规矩能管多久不知道,但至少下次网站再挂,不用等销售端着咖啡来问了。 |