当我们需要验证一个服务器上的 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 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.