域名纠错, 这个事儿指的是什么? 它主要是针对那些情况。比如用户输入的时候出了错, 又或者是系统配置里头出现了问题。这些问题具体包括什么内容? 就是域名的拼写有错误。还有, 格式也变得不正常了。那我们要怎么做? 就是通过一种系统的办法去排查。目的就是把这些错误的地方找到。

并且把它修正好。最终改成一个正确的域名。那么导致这样问题的常见原因都有什么? 这里列举一些。一个是字母的顺序给弄颠倒了。还有一个是单词里面漏掉了字符。或者是多了些不该有的字符。再者就是域名的后缀写错了。最后还有一种可能, 那就是DNS的记录配错了。

域名纠错的常见触发场景

就是在浏览器的地址栏这个地方, 把地址给输错了, 具体来讲, 就是当手动地去输入网址URL的时候, 会出现字母顺序被打乱的情况, 也会出现字母缺失的情况,或者说还会出现多余的字符的情况灵音心图, 就拿那个例子来说, 本来应该是example.com这个域名来着的, 结果不小心就把它错输成了exmaple.com这样的情况。

在代码以及配置里头, 存在那种硬编码弄出来的错误情况, 具体来说呢, 就是开发人员在搞程序的时候, 或者在处理配置文件之时, 又或者是往CMS后台填写域名的这个环节里, 发生了拼写方面的失误。

在域名管理面板中添加A记录以及CNAME记录的时候, 主机记录填写有误, 或者指向地址填写有误, 导致DNS解析记录出现误配情况。

移动端入口出现了一种异常情况。这种异常发生在用户通过移动浏览器或者APP里面嵌入的WebView来进行访问的时候。如果短域名或者是带m前缀的子域配置得不太对劲, 就会搞出跳转失败的问题来说一个具体的例子。

有些网站把移动端入口设置成了m.dcqzss.cn这样的情况。万一用户或者是开发者不小心把这个地址当成了独立的主域去进行解析和配置。那么就会引发后续的一系列纠错需求需要来处理这个问题。

域名纠错的排查步骤

第一步, 确认那个真正正确的域名。登录到域名注册商的后端管理界面, 或者使用WHOIS查询系统,去仔细核对域名的注册信息、实际持有者以及具体的到期时间域名纠错, 以此来确认其正确的拼写方式;另外, 你也可以在搜索引擎中输入网站的名称, 通过查看该网站实际存在的官方站点所使用的地址来确认。

在第 2 步中, 需要定位错误发生的具体位置。在浏览器这一端, 应该按 F12 键打开开发者工具, 然后在 Network 面板里查验实际发出去的请求的域名是不是和预期的一样。

对于服务端这一块, 要检查 Nginx 的 access.log 文件或者是 Apache 的 combined.log 文件, 来确认 Host 头的内容到底是对的还是错的。

在 DNS 这一端, 可以使用 dig 命令或者 nslookup 命令去查询解析记录, 从而验证这些记录是不是指向了正确的 IP 地址。

把第三步进行修正操作, 并且要对修正后的结果完成验证动作。根据这个定位得到的结果, 去修改一下对应的地方, 比如浏览器收藏夹里头的内容, 代码里面的URL常量值, 还有DNS面板那里面的记录。在改完以后, 要等到DNS缓存自己刷新, 或者是手动去执行一些命令。

域名打错访问不了?域名纠错排查步骤、拼写修正与DNS修复全解(图1)

如果是Windows系统的话, 就要执行ipconfig /flushdns这个操作。如果是macOS系统的话, 就要执行sudo dscacheutil -flushcache这个操作。最后重新进去访问一下, 确认那个页面能够正常加载出来, 并且SSL证书上面的域名也没有匹配错误的情况存在。

拼写修正的常用校验方法

运用音节对比法, 也就是把有错误的域名一个字母一个字母地和正确无误的域名放放在一起进行对照检查, 在这个过程中要格外注意那些容易让人弄混、搞错的字符, 比如说小写的字母i和小写字母l, 还有字母组合rn和另一个单词m, 以及字符0和字母o等等。

我们可以利用浏览器自带的, 那个在输入域名时会出现的补全提示功能, 还可以使用注册服务商提供的, 专门检测相似域名的工具, 以此来快速发现那些, 被遗漏掉的或者有, 多余出来的字符问题。

多源交叉验证: 同时通过注册商后台、WHOIS、搜索引擎三个渠道确认拼写, 避免单一来源信息滞后。

DNS层面的纠错与修复

要记录类型纠错, 确认A、AAAA、CNAME、MX记录类型是否正确, 避免CNAME与A记录混用。

需要对主机记录进行纠错处理, 具体来说应当仔细检查子域名的前缀部分是不是填写准确, 重点是要核查一下类似于 m.dcqzss.cn 这样的移动端子域中, 那个 m 前缀究竟是被不小心删除了, 还是被错误地拼写错了。

在纠错这段时间里, 大家可以把TTL的值临时调低到60秒。这么做是为了让设置快速生效。等状态稳定下来以后, 再把TTL恢复成原来的默认值。

预防建议

建立团队内部域名拼写规范文档这个事, 所有对外发布的链接都要统一从那里面去复制一下, 这样做是为了杜绝手动输入的情况。

启动对DNS的监控措施, 并且开启关于证书到期时间的提醒功能, 这样能够降低由于配置出现不规范变化而进行纠错工作的频率。

针对移动端入口这种关键的子域, 要去定期执行HTTP健康检查, 这里的操作是利用自动化脚本来完成的,一旦发现情况异常域名纠错, 就要自动发出告警信号, 以此确保问题能够在用户能够感知到之前就被拦截住。