我之前的文章分享过使用Certbot可一键搭建永不过期的SSL证书(个人网站SSL证书太贵?30秒完成HTTPS证书配置,而且免费永不过期!),虽然该方式很便捷好用,但是Cerbot安装方式也有两个致命的缺陷:无法全局查看当前证书过期时间、无法知道证书是否自动续期成功!
今天继续和大家分享个免费SSL神器:AllinSSL,不仅**有页面能一键自动化部署SSL证书,还能实时监控全部渠道SSL证书过期时间**!再也不用担心因SSL证书过期出现线上事故问题了!
ALLinSSL应用安装
1、切换成root用户
使用以下命令切到root用户
sudo su
这里建议使用root用户操作,否则后面使用一键安装会出现一些列权限问题报错
2、使用意见安装命令完成ALLinSSL安装
安装命令如下
curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl
安装完成后,会得到以下登录面板信息
3、启动ALLinSSL
进到allinssl安装目录下
# 切换到allinssl脚本目录下
cd /www/allinssl/
使用以下命令快捷启动
# Ubuntu系统
bash allinssl.sh
# 其余Linux系统
sh allinssl.sh
输入命令:可以看到allinssl的进程则表示已经启动了
4、打开云服务器防火墙
进到你的云服务器,打开对应端口及访问白名单权限
自动化SSL证书部署
一、授权API管理配置
在进行自动化SSL证书部署前,我们需要先配置好申请是ssl证书时选择的DNS供应商和部署到服务器时需要选择的SSH服务器配置
1、DNS提供商配置
选择授权API管理菜单,页面点击添加授权API,这里名称填个你自己好记的(推荐使用一级域名,方便查看),类型选择你的域名对应的供应商,我的是阿里云购买的域名,所以我这里使用了阿里云
接下来,就是配置DNS服务商的AccessKeyId和AccessKeySecret了
进到阿里云控制台,点击右上角账户设定,点击AccessKey,这里可以使用主账户也可以使用RAM账户,RAM账户需要有域名的操作权限
点击创建AccessKey,把AccessKey Id和AccessKey Secret拷贝出来,粘贴到上一步授权API的页面里
点击确认,可以看到授权API里就会多出个配置文件
2、SSH主机配置
接下来继续配置下SSH主机,在自动化部署会用到,会自动把证书推送到指定的SSH主机下,实现新的SSL证书覆盖老的证书。
点击添加授权API,类型选择SSH,填好你自己部署nginx的云服务器地址,登录用户名和密码,后面自动化部署那里会用到,通过选择这里的SSH服务商,自动进行文件推送操作!
全部信息填写完成后,点击确认,会在授权API管理列表多出来一行SSH提供商的数据
二、邮件通知配置
在监控告警和自动化部署里邮件通知都会需要用到此信息,所以第二步我们需要先把邮件通知相关信息配好,在配置邮箱通知前,先准备个发件箱配置,这里是通过SMTP方式进行邮件发送的,我这里使用的是163邮箱,下面我将以163邮箱为例进行演示
1、获取163邮箱授权码
登录163邮箱(没有账号的可以用手机快速注册个):163网易免费邮-你的专业电子邮局,点击设置,进入SMTP配置
开启邮箱SMTP功能,时第三方能够通过授权码代发邮件
开启后,会生成一个授权码,把该授权码保存好并复制出来
2、配置邮件通知配置
回到ALLinSSL,进到设置页面,点击添加配置
这里配置好SMTP服务器、打开SSL/TLS连接、配置发件人邮箱和授权码、接收信息的邮箱,然后点击确认保存
3、邮件发送测试
配置完成邮件后,设置页面邮件通知下方有个快捷测试功能,点击测试按钮
登录邮箱上一步配置的接收邮箱,可以成功接收到邮件,邮件配置成功
三、证书申请
这里证书申请有两种方式,直接通过当前ALLinSSL页面去点击申请(该SSL证书有效期90天)或者使用自动化部署调用DNS服务商申请(该SSL证书有效期27天),两者在自动化部署上也有一点区别,使用DNS服务商申请方式可以实现全自动工作流处理,使用页面上点击证书申请方式每次需要把证书拷贝出来再执行自动化部署!
1、页面证书申请
左侧菜单选择证书申请,点击立即申请证书弹出输入框
这里输入你自己的域名地址,选择你的域名供应商,然后点击确认
注意:配置域名地址不能随便写一个不存在的,需要先去域名提供商进行解析
2、执行证书申请脚本
在上一步页面申请完证书后,自动化部署里会多出个脚本,点击编辑
修改申请证书配置
选择执行会自动触发证书申请功能
3、证书管理
证书管理可以看到申请的证书列表,如果上面两步都操作了没有看到证书可以退出重新登录下
四、自动化部署-全自动
1、添加自动化部署
这里选择快速部署模板
2、修改工作流名称
这里改下当前工作流名称,方便在自动化列表查看,另外申请证书、部署、通知任务这三个也需要配置
3、编辑申请证书节点
点击申请证书节点,填写需要申请SSL证书的域名,点击保存!
4、编辑部署节点
这里部署方式我们使用SSH方式,点击下一步
这里我把ssl_certificate和ssl_certificate_key文件分别部署在了以下路径
# nginx配置ssl_certificate对应的值
/etc/letsencrypt/live/test.quanyouhulian.com/fullchain.pem
# nginx配置ssl_certificate_key对应的值
/etc/letsencrypt/live/test.quanyouhulian.com/privkey.pem
大家根据自己的情况修改路径,最后配置nginx的ssl改成你自己对应的即可
5、编辑通知任务节点
点击通知任务节点,弹窗如下,配置通知主题、内容、和发件人,点击保存
这时候回到工作流配置页面,继续点击保存
6、执行自动化任务
回到自动化部署列表,点击执行刚刚创建的部署脚本
点击执行历史,可以看到具体执行详情
五、自动化部署-半自动
和前面全自动区别是,这里证书来源选择上传
把页面申请的配置上传到这里,其余的一样
六、监控配置
选择监控菜单,点击添加监控
这里列表会展示证书过期时间
除了页面申请的证书可以查看外,别的地方申请的证书也可以录入查看,比如:我的圈友互联AI工具(圈友互联AI)是在阿里云申请的证书,这里直接添加就可以看到它到期时间
总结
本文章分享了一个集证书申请、管理、部署和监控于一体的SSL证书全生命周期管理工具:AllinSSL,并且给出了搭建及使用的详细教程。
本工具可帮助用户轻松管理多个网站的SSL证书,提供自动化的证书申请、更新和部署流程,并实时监控证书状态,确保网站安全持续运行。
- 证书申请Let's Encrypt等CA自动申请免费证书
- 证书管理集中管理所有SSL证书,包括手动上传和自动申请的证书
- 证书部署支持一键部署证书到多种平台,如阿里云、腾讯云、宝塔面板、1Panel等
- 站点监控实时监控站点SSL证书状态,提前预警证书过期
- 自动化任务:支持定时任务,自动续期证书并部署
- 多平台支持支持多种DNS提供商(阿里云、腾讯云等)的DNS验证方式