我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

一起创造,一起成长!这是我参加“挖金日计划·8月帖子挑战”的第15天,点击这里查看活动详情

各位运维同仁一定都或多或少遇到过这样的问题,很多不太重要的域名https证书为了节省不必要的开支,大多都申请免费的单域名证书,检测起来非常不方便。虽然运营商会在SSL证书过期前发出预警,但是为了避免此类问题,我们可以编写一个基于网页的SSL证书检测工具。

构建演示

我们还是用我们自己写的框架来实现这个需求,首先建立整体框架,定义查询路由为:/,请求方式为get,请求参数为:=xxx。

如上代码所示,我们搭建好了整体框架,在请求/路由的时候传入一个域名,立即将域名信息返回给客户端,我们来启动程序测试一下。

命令:

curl http://127.0.0.1:8082/sslcheck?domain_name=www.juejin.cn
curl http://127.0.0.1:8082/sslcheck?domain_name=www.pdudo.juejin.cn

在上面的命令中,由于 ? 和 = 在 shell 中具有特殊含义,因此将使用本机字符,并且必须用 `` 进行转义。

如何检测 SSL 证书

如上图,我们的demo就搭建好了,我们要做的功能就是查询域名,进行证书检测,返回证书的创建时间,过期时间,以及剩余天数给客户端,那么现在的问题就是,如何检测SSL证书呢?

幸运的是,go为我们提供了相关的tls,库名是:/tls,我们可以利用这个库来抓取ssl证书信息。

让我们看看如何使用代码进行爬取。

如上代码所示,我们使用tls.Dial连接服务器,然后使用conn.()获取基本的TLS信息,下面可以获取TLS证书链,注意这是一个数组,只有0是记录的本地地址。

我们执行以下代码

我们可以打开浏览器来验证

如上图所示,可以看出我们的代码和手动查看证书的时间周期是一致的。

将代码集成到 Web 框架中

根据上面的框架预期,我们将两份代码合并成一套工具,我们来看一下代码。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/2561.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线