域名存活状态检查大城新闻网, 是通过把来自三个层面的数据揉在一起, 来综合地判断一个域名在当前是不是属于“有效且可用”这个状态的技术流程。这三个层面的数据, 分别是指WHOIS注册信息、DNS解析记录, 还有HTTP和HTTPS服务响应。
核心判断标准是这样的, 必须域名注册的状态是active, 并且还没有进入删除宽限期, 同时权威DNS能够正常返回A记录和CNAME记录, 另外Web服务器需要对HTTP请求返回200、301或者302这些响应码, 只有上面这三项条件全都满足了, 才能判定这个域名处于存活的状态, 假如有一点点条件不满足, 就把他标记为异常状态或者失效状态。
具体的检测维度, 是可以被拆解成三个层次的, 如下文所示。
第一层是注册状态, 我们向对应的TLD注册局去查询那个WHOIS记录, 然后把域名的状态码核对一下。
正常存活的域名, 它的状态应该是"ok"或者"active", 如果出现了"expired"、"redemptionPeriod"或者"pendingDelete"这样的状态, 就说明这个域名已经脱离了可用的区间了, 需要去关注那个赎回的窗口时间。
进入第二个环节, 也就是解析状态的检查阶段。我们要向被委派来负责该域名的至少两台权威DNS服务器发起查询操作, 具体的查询目标包括A、AAAA以及CNAME记录。这样做的目的是为了确认能否接收到至少一条有效且正确的解析结果数据。
如果最终返回的结果全都是表示不存在的NXDOMAIN错误状态的话, 这直接说明了整个解析的链路已经发生了断裂问题。在这种情况下, 虽然该域名在理论意义上已经被完成了注册手续, 但是在实际使用中却无法做到被正常访问的效果。
在第三层, 也就是服务状态检查的这个层面。它会对域名发起HTTP或者HTTPS的GET请求。然后去验证服务器是不是真的有实际响应的动作。
只要返回的结果是200或者301甚至是302, 这些情况都会被视为服务是存活的。但是如果返回的是连接超时, 或者是连接被拒绝, 又或者是DNS无法解析的情况, 那么这种状况就会被视为服务不可用。
大家通常看到的一些典型的使用场合, 其中有一项是进行批量域名资产的月度情况盘点,还有一项是去清理那些因为SEO外链而产生的已经无法使用的链接死链域名存活状态检测, 另外一项工作是盯着竞争对手的域名到了没到期, 还有一个评估事项是企业里面的品牌域名组合是不是都能正常使用, 最后还有一个工作是在DNS做迁移之前和之后要检查一下解析结果是不是一致的。
对于那些需要同时管好几百个甚至上千个域名的运营团队还有IT技术人员来说,把检测这些域名还活着没有这一类事情放进定期的维修保养流程里头去域名存活状态检测, 是非常关键的一步, 因为这一步能帮着防止出现域名在没人知道的情况下突然就失效的情况。
在操作这个方面, 推荐给你下面的这些方法。
用户可以进行单域名的快速检测操作, 具体方法是访问gname.xin这个域名查询入口, 然后输入需要检测的域名。这样做能够一次性获取包括WHOIS注册信息、当前的DNS解析记录以及注册到期时间等关键字段在内的大量数据。此过程覆盖了对域名的注册信息和解析状态这两个不同维度的检查内容。
把要检查的域名列表导入到脚本里, 接着逐个对域名进行查询, 具体操作包括获取WHOIS信息、解析DNS A记录以及发起HTTP HEAD请求, 然后把这三项查询的结果记录下来, 最后把所有数据汇聚起来, 生成一份对照报表, 用于区分哪些域名是存活的, 哪些域名的功能是失效的。
把检测逻辑封装到定时任务里面去, 接上监控探针来用, 设定好每天做一次全量的扫描, 要是发现了异常的域名就直接推送告警消息到运维使用的通知渠道上面, 这样就可以保证失效的域名能够在很少的时间里被发现掉。
高频疑难及处理建议:
当域名的WHOIS信息里显示已经过期, 可是网站仍然可以访问的时候, 通常情况下是因为该域名正处于注册商提供的宽限期内。这个宽限期一般为30天。在这个时间段内, DNS解析数据还没有被完全删除。用户必须在宽限期结束之前把续费手续办好, 不然的话, 就会进入到无法恢复的赎回期中去。
DNS查询偶尔会发生超时现象, 造成这个问题的原因多半是上游的递归DNS发生了故障, 或者是TTL缓存没有刷新, 建议你切换使用公共DNS进行重试并且确认一下情况, 具体的操作可以是使用像114.114.114.114或者8.8.8.8这样的地址, 从而把本地网络干扰的因素给排除掉。
在批量的结果里面, 有大量域名是返回了NXDOMAIN这个状态的, 这时候需要把每一条都拿出来单独检查确认, 到底是因为这个域名本身是没有注册的, 还是说这个域名已经是注册好了的, 但是没有去配置A记录这两者处置的做法是不一样的, 如果是前者的这种情况就需要进行重新注册的操作, 如果是后者的这种情况就需要来补充一下解析配置。
关于检测的频率这里有一个建议, 核心业务的域名需要每日进行检测, 一般性的域名可以每周进行一次检测, 全量资产库每个月要进行一次全量的扫描, 而且每一次的检测都要把完整的日志给留存下来, 这样是为了方便在事后追溯那个域名失效的具体时间节点。


