当我们需要验证一个服务器上的 SNI 域名是否正常的时候,通常需要在浏览器或 openssl 来获取到证书,然后检查证书里相应的字段是否包含域名,但这种方式极为不便。
为了简化验证的过程,我使用 Nodejs 开发了一个小工具 sni-detector 用于验证指定服务 器上的 SNI 是否包含指定的测试域名。
使用方式非常简单,先使用 NPM 来安装:
npm install -g sni-detecotr
在安装成功后,就可以使用 sni-detect
命令来验证了。
使用 sni-detect --help
可以查看相应的参数说明,在此,我以测试域名 www.baidu.com
和
img.baidu.com
来验证 IP 为 14.215.177.52
的服务器为例:
sni-detect -t www.baidu.com,img.baidu.com 14.215.177.53
如果返回 14.215.177.52 OK
表明验证通过,如果返回 14.215.177.52 Failue
表明验证失败。
这里如果需要查看失败的详细信息,可以加上 --verbose
参数:
sni-detect -t www.baidu.com,img.baidu.com --verbose 14.215.177.53
PS :本工具仅支持 Node.js v6+
本工具也同时开源在 Github 上,欢迎提 issue 和 PR 。
1
zbinlin OP 补充一个 npm 上的链接: https://www.npmjs.com/package/sni-detector
|
2
ixinshang 2016-11-23 19:57:34 +08:00 1
不错 想试试 感谢
|