tyzoid / ssl-dashboard
一个简单的 SSL 监控仪表盘
dev-master
2018-04-21 22:42 UTC
Requires
- jacwright/restserver: ^1.2
This package is not auto-updated.
Last update: 2024-09-21 14:49:11 UTC
README
一个用于跟踪各种服务 SSL/TLS 证书的免费仪表盘
目录
为什么
这个项目的想法源于我的 IRC 反向代理的证书过期。我确保在我的反向代理中保持证书更新,但由于证书的配置方式,自动化并不容易。此外,尽管 letsencrypt 会给你发送提醒邮件,certbot 可以自动创建和续订你的证书,但它有一些限制
- 它只适用于 Letsencrypt
- 对于非 http 服务,自动续订并不容易
配置
开始使用 SSL 仪表盘很简单。
- 克隆此存储库
- 将你想要跟踪的服务添加到
/controllers/SSLExpory.php - 将你的网站根目录指向你选择的 php 兼容的 web 服务器中的
/web/ - (如果不使用 apache)将重写从
/api/*到/api/index.php
API
这个仪表盘由两部分组成
- 后端(API)
- 前端(JavaScript)
Web 界面通过调用 API 并行查询证书信息。这样做是为了代理过去跨站限制,以及提供更多关于如何处理证书验证的控制。
API 有两部分。第一部分是服务器列表
$ curl https://ssl.tyzoid.com/api/servers
{
"servers": [
{
"id": 0,
"host": "apilabs.tyzoid.com",
"port": "https (443)",
"name": "Api Labs"
}
]
}
第二部分是特定服务器的证书到期信息
$ curl https://ssl.tyzoid.com/api/expiredate/0
{
"cert": {
"CNMatch": true,
"validFrom": "2018-04-12T20:51:14-04:00",
"validUntil": "2018-07-11T20:51:14-04:00"
}
}
这两个 API 端点也支持 XML 输出,只需在请求中添加 .xml 扩展名即可。(默认情况下,会隐式添加 .json)
$ curl https://ssl.tyzoid.com/api/expiredate/0.xml
<?xml version="1.0"?>
<cert>
<CNMatch>1</CNMatch>
<validFrom>2018-04-12T20:51:14-04:00</validFrom>
<validUntil>2018-07-11T20:51:14-04:00</validUntil>
</cert>
计划变更
我希望让它看起来更像一个“仪表盘”,而不是主机/端口的列表,但这将在以后实现。计划功能和问题将通过问题跟踪器进行跟踪。