SSL证书免费申请,一键部署——AllInSSL使用教程
在实际 SSL 证书管理中,现有方案常存在明显局限:以阿里云为代表的主流云平台,其提供的免费 SSL 证书有效期仅 3 个月,且仅支持单域名申请;若需覆盖多域名或通配符域名(如*.vvhz.com)或多域名通配符证书(如*.vvhz.com,*.4e2.cn,*.xxx.com),付费证书价格高昂,个人用户难以承担。此外,部分第三方 SSL 证书签发平台虽初期宣称免费提供通配符证书,但使用数月后会逐步转为收费模式,且自动部署功能体验较差,需手动介入操作。因此我也曾尝试自主开发过一个 SSL 证书生成服务,却仅能实现证书生成功能,缺乏一键部署能力,实际运维中仍需手动配置到各服务,效率低下且易出错。
直到在 GitHub 发现 allinssl 项目,才彻底解决上述问题。作为专注于 SSL 证书自动化管理的开源工具,allinssl 不仅完全免费,还支持部署在自有服务器上,无需担心后期收费或密钥泄露的安全问题。在安装使用该项目后发现该项目完全满足个人的实际需求,并且该项目还在一直迭代中,后续应该会开发出更多的功能。
一、项目简介
ALLinSSL是一个开源免费、功能全面的 SSL 证书集中管理平台,旨在简化证书申请、续期、部署全流程,支持 Let's Encrypt、ZeroSSL 等主流免费证书机构,同时适配阿里云、腾讯云、华为云、百度云等多云平台,可实现证书在云服务器(ECS)、对象存储(OSS)、内容分发网络(CDN)等服务中的一键部署与自动续期,大幅降低 SSL 证书管理的技术门槛与运维成本。
二、allinssl 安装步骤
可以直接看官方教程: allinssl.com
我的服务器是centos 7.9,本次安装过程使用的脚本一键安装。
curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl执行命令即可一键安装,不需要其他操作。安装完成我们可以看到对应的服务端口、访问入口和用户名密码。如果需要通过17263端口访问记得设置好防火墙。

然后我们在浏览器输入地址 http://x.x.x.x:17263/6e1dcb09 就可以打开后台管理页面了,输入上图中的账号密码进入。如果我们不想要地址后面的安全入口 /6e1dcb09 ,可以在后台管理删除该安全入口。

三、工作流配置
安装完成以后我们就可以开始自定义工作流,实现自动化部署了。点击 自动化部署 - 添加自动化部署 - 新建工作流,选择高级自定义模板。

工作流配置很简单,配置好的流程就按照箭头顺序往下执行。整体流程无非就是 申请证书 - 部署证书 - 执行通知。
(1)申请证书节点
我们首先点击申请证书的节点,配置申请证书的信息,例如:

域名输入框中我们可以输入多个通配符域名,并且可以输入当前DNS服务商下的所有域名,例如图中的*.vvhz.com,*.4e2.cn等等,这些域名最终会生成一个通用的证书。
DNS提供商刚进来时是没有的,我们可以点击添加DNS提供商去添加,这里支持一二十个服务商。我们选择对应的服务商填写好对应的秘钥信息即可。我使用的是腾讯云的DNSPod做域名解析,但是这里只有腾讯云,所以我们在填写密钥时一定要注意这个秘钥要在腾讯云后台去生成,不要在DnsPod的后台生成。如果证书生成后,我们需要将证书部署到云服务器或者阿里云的oss、cdn等,也可以一并在这里添加好授权信息。

(2)部署节点
证书生成成功以后,我们就可以执行下一步的部署节点,部署类型支持很多,我这里有使用到本地部署、其他云服务器部署、阿里云OSS部署、阿里云CDN部署,设置都非常简单,如果需要部署到其他的服务,按照需求填写就可以。
本地部署:
因为我本机有个nginx服务需要使用到ssl证书,所以这里选择本机部署,证书来源就是上一步申请好的证书,然后指定证书文件路径和私钥文件路径。也就是将上一步申请好的证书存放在哪个目录下。
前置命令和后置命令看个人需求,比如我在部署该证书前,先将前一个证书做备份,部署证书后会执行nginx的重启命令使证书生效。

远程部署和本地部署类似,只是需要配置好远程服务器的ip端口以及用户名密码。
阿里云CDN部署:
CDN部署很简单,配置好阿里云的授权信息后,只要填写CDN的域名即可。

阿里云OSS部署:
之前自己有写java程序实现过一键部署,但是阿里云OSS一直没找到部署SSL证书的接口文档,这里竟然可以通过接口部署😂
按照图中的示例填好oss的域名、区域和存储桶的名字就可以。

(3)通知节点
我们可以在各个节点想要执行通知的地方添加通知,比如证书申请失败、证书部署失败、或者整个流程执行成功后执行通知。通知类型有很多,我这里使用的是邮件通知。我使用的是163企业邮箱,相关的配置如下:
SMTP服务器:smtphz.qiye.163.com
SMTP端口:465

四、自动化部署和测试
最后我们可以开启自动执行,每天凌晨自动执行证书续签任务。

如果刚配置好工作流,可以先手动点击执行,测试流程执行是否正确。如果执行失败可以点击执行历史查看对应的日志信息。比如秘钥错误导致的权限问题,或者部署节点的信息不正确,在日志中都可以看到具体原因。

五、系统命令
# 基本操作
allinssl 1: 启动服务 🚀
allinssl 2: 停止服务 ⛔
allinssl 3: 重启服务 🔄
allinssl 4: 修改安全入口 🔐
allinssl 5: 修改用户名 👤
allinssl 6: 修改密码 🔑
allinssl 7: 修改端口 🔧
# Web服务管理
allinssl 8: 关闭web服务 🌐➖
allinssl 9: 开启web服务 🌐➕
allinssl 10: 重启web服务 🌐🔄
# 后台任务管理
allinssl 11: 关闭后台自动调度 📻⛔
allinssl 12: 开启后台自动调度 📻✅
allinssl 13: 重启后台自动调度 📻🔄
# 系统管理
allinssl 14: 关闭https 🔓
allinssl 15: 获取面板地址 📋
allinssl 16: 更新ALLinSSL到最新版本(文件覆盖安装) 🔄⬆️
allinssl 17: 卸载ALLinSSL 🗑️