域名存活状态检测, 就是指利用DNS解析, 还有HTTP响应, 同时也参考SSL证书有效期这些多维度指标, 来全面判断一个域名现在到底是不是处于能够正常访问的那一种被称为“存活”的状态, 这种事儿对于那些需要一次性管理几百乃至几千个域名, 并且日常还得负责运维的团队以及站长来说, 按时去执行所谓的存活检测工作, 那可是预防业务出现中断情况, 以及防止自家品牌下的域名被别人随手抢注掉的第一道也是最关键的防线。
存活检测的三项核心指标
当一个域名它被判定为是存活状态的时候, 必须同时满足一下所说的那些基础性的条件。
1. DNS解析正常这意味着, 域名的A记录或者CNAME记录, 能够成功返回有效的IP地址, 并且名称服务器, 也就是NS服务器, 可以正常响应查询请求, 另一方面呢, 如果DNS查询出现超时现象, 又或者返回了NXDOMAIN这个错误的结果信息, 那就说明该域名, 在当前这种状况下, 已经无法在网络上被访问到了。
2. 向通过解析所获取的IP地址发起GET类型请求操作, 服务器应当在合理的时长区间内部完成响应动作, 该合理时长一般会被限制为不超过5秒钟的时间跨度, 且最终会返回HTTP状态码200、301或者302这三种结果中的任意一种, 以此来表示正常情况, 而不是出现连接超时、被服务器拒绝连接或者是出现属于5xx范围内的错误代码这种异常情况。
3. SSL证书有效, 这一点是适用于HTTPS站点的, 证书没有过期, 也未被吊销, 域名是匹配成功的, 而且证书链是完整的, 可以进行验证。
在三项指标当中, 只要是有任意的一项测试失败了, 那么就是会被看作是这个域名在当前时刻是处于“非存活”或者说是“异常存活”这样的状态下, 因此就必须要去做进一步的排查处理工作了。
三步完成域名存活状态检测(实操流程)
第一步是批量地把待检测的域名清单给提交上去。 把需要去检查的那些域名的列表弄到工具里面去, 这个操作是允许用点txt格式的文件或者是点csv格式的文件来导入数据。
就拿 gz88.cn 这种属于企业的域名来做当例子吧。把它和其他的那几十个搞业务的域名放到一个清单里面去。这样就完全一次性地去把所有的东西全部都拿去排查清楚。
第二步:执行多维度探测。 接下来, 检测工具会挨个儿地对每一个域名去发起下面的那些请求。
向根DNS服务器, 还有域名NS服务器, 去发送这个A记录或者是CNAME记录的查询请求。
当解析IP的时候,我们要去发起一个对HTTP80端口和HTTPS443端口的GET请求。
去获取那个ssl证书的信息, 这里面包含颁发的具体时间、到期的具体时间还有还剩下多少天的时间。
记录响应时间这个玩意儿, 也就是大家常说的TTFB, 它的用处在于, 我们可以凭借它来判断服务器是不是正处于过载的状态。
第三步:读取检测报告并处置。系统将每个域名标记为三种状态之一。
✅ 所谓的正常存活这种状态, 其实就是指那三项指标全部都通过考核了的意思。
⚠️ 异常存活的意思是, 虽然DNS解析工作正常, 但是HTTP协议却返回了错误代码, 又或者_SSL证书快要到期的时候(也就是剩余天数小于或等于三十天的情况_)
❌ 目前已经失效, 原因可能是因为DNS无法解析或者连接发生超时。
对于那个被标上了"已失效"这个标签的域名, 你要在第一时间去把这个注册商的续费记录给核查一下, 去确认清楚, 这个域名是不是因为欠了费, 所以导致了对它的解析操作呗暂停了来着。
高频疑难与处理建议
检测结果明明说了是已经失效了,可是结果发现实际上根本还可以正常访问? 这大多数情况都是因为那个用来检测的源IP地址, 和这个用户自己所在的网络并不在同一个DNS的传送线路链条上面。
所以给大家的一个建议, 就是先去切换一下那个进行监测所使用的节点, 或者说是干脆就等到稍微晚一点的时候再去重新做一次检查比较好。
在进行批量检测的时候,发现有一部分的域名响应速度特别慢,到达第一个字的时间超过十秒了吗? 这种情况一般通常是指向源站服务器那边出现了带宽方面的瓶颈问题, 或者是CDN节点出现了异常情况, 那么需要大家去检查服务器当前的负载状态以及DNS服务商那边是不是正常工作。
SSL证书的剩余天数警报是不是经常跳出来? 我们建议您把证书到期前的提醒时间阈值设定在45天这里, 同时要把自动续期的功能给开启起来, 例如可以使用ACME协议这样的方式, 好让系统自己去处理续约这事, 避免出现因为人工疏忽而导致的遗漏情况发生。
检测频率建议
核心业务域名的轮询频率被设定为, 每经过五到十五分钟就进行一次查询操作。
对于普通业务域名, 检测的频率是每一到六小时进行一次。
备用或闲置的域名, 每二十四小时检测一次。
把上述这些频率设置到定时任务里去, 然后配合那些告警通道, 比如说邮件、短信、还有企业即时通讯工具之类的, 就能够搭建出一个关于域名存活状态的闭环监控系统, 这样就能确保在任何一个域名出现掉线状况的时候, 可以在第一时间被察觉并且得到处理。


