这个域名跳转测试工具, 它是专门用来做检测的东西, 主要是看那个HTTP重新定向的机制, 包括代码301、还有302、307、以及308这些状态码, 是否按照事先预期的那种方式去生效了, 它是一个在线的诊断工具之类的, 当你把那个目标URL输入进去之后, 它会自动地去模拟浏览器的请求行为, 然后返回给你很完整的一个跳转链路信息, 还有包含各个中间节点的那个响应状态码的具体情况, 再加上请求所耗费的时长, 最后会显示那个最终落地页到底是什么样的页面, 这样子的话, 就是帮助到了网站管理员这个群体在非常短的时间内, 也就说是数秒之内, 就能够判断清楚关于跳转配置这一块是不是存在断裂的情况, 或者是有没有发生死循环的问题, 亦或者是有冗余的节点需要处理。

核心功能

通常来说, 这个域名跳转测试工具, 它一般是能够提供这么一些能力的啊。

在进行状态码的逐层检测操作, 返回的是在跳转链路上每一个节点的HTTP状态码, 通过这种方式来明确地去标识出那个存在异常的具体节点位置。

进行链路可视化操作, 这种可视化操作会以一种叫做节点图的展示形式作为具体手段来呈现内容, 所要呈现的具体内容是那个从初始的URL跳转到最终的URL为止的这样一条完整的跳转路径情况, 并且还需要在每一条跳转跳步上对相应的响应耗时情况进行标注标记。

进行协议切换方面检测工作。具体内容是验证当网站在HTTP和HTTPS两者之间做自动跳转的时候, 该逻辑是否能够被正确地触发起来。同时需要检查所使用的证书信息是否与实际情况相匹配。

在终端环境进行差异化模拟的时候, 这个功能是可以去支持模拟移动端设备的, 也可以去支持模拟桌面端设备的, 还可以支持模拟使用不同的用户代理也就是User-Agent来发起网络请求的, 通过这样做, 就可以去排查由于条件跳转配置错误所引起的一系列问题的。

在批量与告面, 有些工具具备一个功能, 这个功能是支持批量提交多个域名的, 除此之外域名跳转测试工具,如果出现了跳转异常的情况, 这些工具还能够触发使用Webhook发送通知的功能。

使用步骤

1. 您可以在工具的输入框里面, 直接粘贴上那个需要去测试的域名, 或者是完整的网址, 比如像https://gname.xin这样的链接。

2. 请你去选择一个测试协议, 这个可选的测试协议包括HTTP以及HTTPS, 然后还需要去选一个发起端的类型, 这个发起端的类型包含PC以及Mobile。

3. 请你点击那个叫做“开始测试”的按钮, 然后你要耐心地等待这个工具去把所有链路中的相关信息都给全部抓取下来, 这个过程一般来说所需的时间不会超过3秒。

4. 需要去查看那个结果面板, 目的是要确认最终的网站状态码确实是200, 而且还必须保证跳转的层数不多于两跳的情况, 万一发现有从301变成到302然后才再到200的这种多余的跳转线路的话, 就得在服务器这个层面或者是DNS服务这个层面动手脚来把这些规则给精简掉。

5. 我们要对异常节点的响应头内容进行记录, 这些响应头里头包含了像Location这样的字段, 也包含了像X-Forwarded-For这样的字段, 通过记录这些信息, 我们就能去定位到具体是Nginx、Apache还是CDN那边的配置项出现了问题。

跳转链路排查要点

域名跳转测试工具怎么用?一键排查301/302重定向问题(图1)

301和302这两种状态码是不能够随便混着使用的灵音心图,如果我们把原本属于永久跳转的301错误地写成了临时跳转的302, 那么搜索引擎就不会把当前这个页面所积累的权重给迁移过去了。

关于跳转层级的控制问题需要保持在两次以内这种情况, 因为根据谷歌官方的建议内容, 如果跳转次数超过两次的话, 就可能会导致爬虫抓取效率受到影响。

在进行协议以及域名的合并式跳转操作的时候, 比如有这样一种情况, 就是http://old.com要跳转到https://new.com, 那么我们就应该把这个过程写成单独的一条规则。这样做的主要目的, 就是为了避免出现因为分成了两个步骤而各自执行一次301状态码响应这样的情形。

通配符和精确匹配发生了冲突。你需要去检查.htaccess文件或者是Nginx的配置, 看看里面是不是存在重复出现的情况, 或者是否存在相互矛盾的地方, 特别是在关于RewriteRule的部分。

常见问题与解决

根据测试的结果来看, 跳转这个动作是正常的, 不过在浏览器进行访问的时候会出现卡顿的情况, 造成这种现象的原因大多数情况下是因为本地的DNS缓存没有被刷新, 建议你先去把那个本地DNS缓存给清理干净一些域名跳转测试工具,或者你换一个方法, 比如说改用DoH这种形式也就是使用叫做DNS过HTTPS的这个技术来进行处理之后重新进行验证就可以了。

301跳转结束之后, 最终的页面显示为404, 这个情况可能是因为跳转目标URL存在拼写错误, 或者目标路径在服务器上还没有部署。

移动设备端的跳转结果和桌面设备端的跳转结果是不一样的。这说明系统使用了基于用户代理条件的跳转方式。所以需要逐一检查针对设备的识别逻辑到底有没有问题。

跳转功能出现了死循环的情况, 表现为A指向B、B又指回A, 这是因为存在两条相互引用的规则, 用户需要把其中一条规则在服务端设置为注释状态, 然后进行重新测试。

在线工具选型参考

除了那些基础性的检测工作之外, 有一部分工具还支持其他一些扩展的功能, 比如跳转到历史快照进行对比、对证书的有效期做同步的检测, 还有对多区域的节点在做CDN时的差异进行比对。

就比如说用gname.xin提供的那个跳转诊断模块来说吧, 它可以把证书是不是有效的和跳转到那个目标域名是否一致这两件事情, 合并在同一份报告里面去呈现, 这样的设计是适合那些运维团队在进行域名的迁移或者是在更换SSL证书之后去做快速的验收工作的, 他们不需要在多个平台之间来回去切换了。