ALLinSSL部署和使用教程 - SSL证书一键自动化申请、续期、部署、监控

All in SSL 开源免费的SSL证书自动化管理平台,ALLinSSL安装和使用教程

你是否受需定期手动续签和部署SSL证书的困扰?那你可以看看这篇教程,教你如何用ALLinSSL实现SSL通配符域名证书的自动申请和续签以及自动部署到服务器和CDN上!

:rocket:雨云RCA云应用目前新用户可免费试用15天(免费的总资源限制为8核8G)!

视频教程:https://www.bilibili.com/video/BV16KMJzbE2d/

网站搭建类文章:https://blog.zeruns.com/category/web/


ALLinSSL项目简介

ALLinSSL项目官网:https://allinssl.com/

ALLinSSL是由宝塔面板团队开发的:https://www.bt.cn/u/tbUafD

背景:SSL 证书管理的痛点

SSL/TLS 证书对于保障网站和在线服务的安全通信至关重要,是现代互联网不可或缺的一部分。然而,对于拥有多台服务器、多个域名或使用复杂云环境的用户来说,管理这些证书往往是一项繁琐且易出错的任务:

  • 分散混乱: 证书散落在不同的服务器、云平台、CDN 或负载均衡器上,缺乏统一视图。
  • 配置复杂: 手动申请、验证、配置和部署证书流程复杂,需要一定的技术背景,且容易出错。
  • 续期难题: 证书有效期有限,忘记续期或续期操作失误可能导致服务中断和安全风险。
  • 缺乏监控: 难以实时掌握所有证书的到期时间、健康状态和部署情况。
  • 成本考量: 商业 SSL 管理工具或服务可能功能强大,但往往伴随着高昂的费用,尤其是对于需要管理大量证书的场景。

ALLinSSL:应运而生的解决方案

为了解决上述痛点,填补自动化 SSL 管理领域的缺口,我们开发了 ALLinSSL——一个开源免费、功能全面的 SSL 证书集中管理平台。

我们的目标是:让 HTTPS 安全管理从"技术负担"变为"低门槛自动化"

核心优势

  • 一站式管理: 在一个平台集中管理所有 SSL/TLS 证书,无论它们部署在何处。
  • 全流程自动化: 从申请、验证、部署到续期,实现端到端的自动化,解放人力。
  • 可视化操作: 提供直观的 Web UI 和仪表盘,无需记忆复杂的命令行。
  • 广泛兼容: 支持 Let’s Encrypt 等免费 CA,兼容多种 DNS 提供商、云服务商(腾讯云阿里云等)、服务器部署方式(SSH、宝塔1Panel)以及 CDN、WAF 等应用。
  • 开源免费: 核心功能完全免费,采用 AGPL-3.0 许可证,鼓励社区参与和贡献。
  • 灵活扩展: 可通过工作流引擎自定义复杂的部署逻辑,满足个性化需求。

与仅依赖命令行的 Certbot 或 acme.sh 相比,ALLinSSL 提供了更友好的用户体验;与闭源且收费的商业方案相比,ALLinSSL 则提供了更高的性价比和透明度。

云应用简介

:rocket:云应用(RCA,Rain Cloud Apps)是雨云基于Kubernetes开发的容器应用平台,为用户开发、部署和使用容器应用提供了全新的平台,产品经过精心设计,具有高可用、高灵活性、易用的特点。 云应用内置提供App、网站、数据库三大板块,并且提供内置的应用商店,首批上架数百款App,并且适配1Panel等第三方商店,让您可以在不买服务器的情况下快速部署包括Alist、Cloudreve等数百种热门应用,对应用的更新、文件管理、设置等方便快捷,一键生效。

:rocket:按小时计费,可弹性增减配置,可随时删除项目。其实简单说就是Docker容器出租/托管平台。

Kubernetes简介

Kubernetes(简称 K8s)是由谷歌开源、云原生计算基金会(CNCF)托管的容器编排平台,旨在解决容器化应用的部署、管理和扩展难题。作为云原生技术栈的核心,它通过自动化机制实现应用的高效运行,支持从单节点到跨多云环境的大规模集群管理。

其核心能力包括:自动化部署与滚动更新,确保服务持续可用;弹性伸缩功能根据负载动态调整资源,优化资源利用率;服务发现与负载均衡实现容器间通信的智能化;故障自愈机制自动修复异常实例,提升系统可靠性。此外,Kubernetes 提供声明式 API,允许用户通过配置文件定义基础设施和应用状态,简化运维复杂度。

凭借模块化架构和开放生态,Kubernetes 成为微服务、持续集成 / 持续部署(CI/CD)、边缘计算等场景的首选方案,助力企业实现应用的快速迭代与高可用性。无论是初创团队还是大型企业,均可通过 K8s 构建灵活、可扩展的现代化应用架构,加速数字化转型。


云应用一键部署

首先需要注册个雨云账号:

注册完雨云账号后在雨云控制台点击 云产品云应用

点击 我的项目创建

项目名称自己定一个,磁盘大小默认的1GB基本够用,以后不够用可以随时扩容,最后点击创建项目

点击刚创建的项目可以进到项目管理页面

访问这个链接直接跳转到ALLinSSL应用的安装页面:https://app.rainyun.com/apps/rca/store/6450/zeruns_?s=rainbbs

也可以在应用商店找到这个应用,然后点击立即安装

资源配置一般默认的最低配置就够用,网页端口一般会随机生成个,你也可以自行修改,修改用户名就改环境变量里的ALLINSSL_USER,修改登陆密码就改环境变量里的ALLINSSL_PWD,修改安全入口就改环境变量里的ALLINSSL_URL ,最后点击安装应用。(建议把默认密码改掉

  • 默认用户名:allinssl
  • 密码:allinssldocker
  • 安全入口:allinssl
  • 默认访问地址:http://云应用IP地址:网页端口/allinssl

在项目管理的应用管理这里ALLinSSL应用下面的服务这里点击这个端口号就可以复制云应用的IP+端口了,然后粘贴到浏览器地址栏,在后面再加上安全入口就可以打开网页面板了,例如:http://110.42.45.236:14313/allinssl

然后就进到网页面板了,然后输入你设置的用户名和密码登陆即可。


ALLinSSL使用教程

我搭建了一个Flarum网站用做本教程的SSL申请和部署测试,Flarum论坛网站搭建教程:https://blog.zeruns.com/archives/866.html

进入到ALLinSSL网页面板,点击 授权API管理添加授权API,名称自己定一个,类型选择你自己域名的DNS提供商,我域名用的阿里云的域名解析服务所以这里就选了阿里云,然后去阿里云控制台的AccessKey处获取AccessKeyIdAccessKeySecret填进去,最后点击确认

申请SSL域名证书时需要设置一条域名解析来验证你域名的所有权,所以需要你域名解析服务商的API权限来实现自动化

如果你的CDN服务商也是阿里云,那这里只用添加一次AccessKey就可以了,后面都可以调用这个AccessKey。

添加完成后可以点击右边的测试按钮看看是否成功。

如果你用了CDN那源站可以不用部署SSL证书,添加CDN的API授权进去,把SSL证书部署到CDN就行,然后用HTTP回源,当然如果你想两处都部署也可以。

我这里源站是用1Panel面板部署的网站,所以要添加1Panel面板的API,在1Panel面板设置这里开启API接口,然后IP白名单就输入你云应用的IP,或者输入0.0.0.0/0来允许所有IP,接口密钥有效期改成0就是永久有效,然后复制接口密钥

回到ALLinSSL面板,继续添加授权API,名称自己定,类型选择1Panel,1Panel-URL填你自己1Panel面板的地址,API密钥填你刚刚复制的接口密钥,最后点击确认。添加完成后可以点击右边的测试按钮看看是否成功。

我这里演示用ZeroSSL证书,所以需要添加CA授权,先到ZeroSSL官网注册账号获取,如果只需要Let’s Encrypt证书那就可以跳过这一步,如果需要通配符证书(一个证书可以给所有子域名使用)只能选ZeroSSL或Google证书。

ZeroSSL官网:https://zerossl.com/

注册并登陆ZeroSSL后点击 DeveloperGenerate 就可以获取EAB KIDEAB HMAC Key了。

回到ALLinSSL面板,点击 自动化部署CA授权管理添加CA授权,名称自己定一个,邮箱输入你注册ZeroSSL用的邮箱,CA提供商选ZeroSSL,ACME EAB KIDACME EAB HMAC Key就填上面获取的,最后点击确认。

接着就新建一个SSL证书申请和部署的工作流,点击 自动化部署添加自动化部署快速部署模板确认

点击开始的自动执行可以修改这个工作流的运行模式是自动执行还是手动执行,以及执行周期,默认是每天执行一次

点击申请证书下面的未配置来设置证书申请配置,域名输入你自己的域名,我这里因为用的ZeroSSL支持通配符证书,所以输入 *.zeruns.comDNS提供商选你这个域名的DNS解析服务商证书颁发机构选择上面创建的CA授权邮件填你自己的邮箱,其他保持默认即可,最后点击保存

点击部署下面的未配置来设置证书自动部署,选择要部署到的平台,如果是手动安装的网站服务器可以选SSH,通过SFTP上传证书到服务器的证书目录再执行重启命令,我用的1Panel面板就选1Panel-网站,然后点击下一步。

选择上面已经添加好的主机提供商,然后选择要部署的网站,点击提交。

将最下面的通知任务删除后点击保存,你也可以自己设置执行成功或失败后的通知任务。

然后手动点击一下执行

可以在执行历史里查看工作流执行日志。

再次打开网站就可以用HTTPS访问了,证书也部署成功了,后面每天都会自动检查证书有效期,有效期不到30天时会自动重新申请证书并部署。

还可以设置证书监控,监控你各个域名的SSL证书有效期,出现异常可以通知你。


推荐阅读

English Version of the Article: https://blog.zeruns.top/archives/58.html