我详细描述下现象,希望大家不要踩前人的坑~(我可是以写故障报告为代价的 = =)
现象:
该网站因为接入到WAF上,所以80、443端口只对WAF段开放,排查过程中,我一度以为阿里安全组规则改严了(所以后面直接放宽端口开放范围),因为在我办公电脑,telnet 网站 80、443端口是不通的,但进去控制台看服务器服务(nginx有监听80、443端口),非常正常。
试过把80、443,及服务器的ssh端口对全外网开放(0.0.0.0/0),安全组和iptables都开了,ssh远程连接和网站还是不通。
在控制台ping百度,能通,但反应比较慢。
阿里工程师引导我排查问题也基本是从这几个方面入手:
1、netstat -anlp | grep 80 #注释:查看服务器内部端口状态(如果是lLISTEN表示在监听中,如果没有输出此端口的信息,就表示您的服务器程序未正常监听) 2、iptables -n -L #注释:查看服务器内部iptables规则 3、firewall-cmd --state #注释:查看服务器内部firewalld运行状态
ping 114.114.114.114 是不通的,dhclient 运行完再ping 114是通的
服务器运行“curl -I 127.0.0.1” 能转发到网站域名, “curl -I https://www.xxx.cn” 没响应。
最后发现是阿账号欠费,为啥我会不知道呢?
(1)该账号收阿里云通知信息的手机是人事保管的,刚好是周末发的短信,而且我发现人事平时是把手机直接扔抽屉的 = =
(2)站点监控发到钉钉群的信息一度被常规备份信息遮盖,而且阿里云的站点监控是无法@到个人的,所以经常被忽略
总结:
(1)日常巡检加上账号余额检查
(2)短信转发器SmsForwarder加账号转发规则【参考我之前文章:https://www.cnblogs.com/windysai/p/16495905.html】
(3)编写脚本,在该系统以外服务器上,写个监控该网站站点的脚本,curl 网站域名 非 200,@到我。