AI摘要

ALLinSSL是宝塔面板团队开发的开源免费SSL证书自动化管理平台,支持证书的自动申请、续期、部署和监控,兼容多种DNS提供商和云服务商。本文详细介绍了ALLinSSL的功能特点、核心优势,并提供了Linux服务器和雨云RCA两种部署方式的教程,帮助用户实现SSL证书的全流程自动化管理,提升HTTPS安全管理效率。

All in SSL 开源免费的SSL证书自动化管理平台,ALLinSSL安装和使用教程,本教程包含两种部署方式(Linux服务器部署雨云RCA一键部署)。

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

🚀雨云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 则提供了更高的性价比和透明度。

云应用简介

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

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

Kubernetes简介

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

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

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


Linux服务器部署

准备

首先需要一台Linux系统(推荐 CentOS 7+, Ubuntu 18.04+, Debian 9+)的服务器来搭建ALLinSSL,你也可以用你网站服务器来搭,只要是前面推荐的Linux系统就行。

我这里用皓量云擎的轻量应用服务器来演示:

其他性价比高的服务器推荐:https://blog.vpszj.cn/archives/41.html

注册账号后进到控制台,点击 轻量应用服务器→立即购买。

地域根据自己需求选择,如果需要申请Google证书的就需要境外的服务器,我用ZeroSSL的所以选宁波的也可以,配置我选了8核16G 80兆带宽的(其实选个最低配就够),才60元/月,操作系统选Debian12,选好后点立即购买。(皓量云擎的宁波轻量服务器有50Gbps的DDoS防御)

等待服务器创建完成后点击管理,进到服务器的控制台,接着就可以看到服务器的信息了,在这里重装/切换系统等。

连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

SSH客户端软件下载地址:https://www.123pan.com/ps/2Y9Djv-UAtvH.html

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址(控制台获取),还有SSH端口(默认是22),然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码(密码在控制台获取)并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

APT换源(境外服务器无需进行这步)

系统默认apt软件下载源是国外服务器,所以需要换国内镜像源,使用chsrc来换源。

在SSH终端,输入下面的指令(#开头的是注释,不用输入)。

# 下载安装chsrc
curl https://chsrc.run/posix | bash

# 自动测速,寻找最快者,换源
chsrc set debian

开放端口

在服务器控制台的安全组或防火墙设置里开放所有端口,如下图所示:

安装ALLinSSL

一键安装脚本,复制下面命令到SSH终端里运行:

curl -sSO http://download.allinssl.com/install_allinssl.sh && bash install_allinssl.sh allinssl

安装完成后SSH终端界面会显示 ALLinSSL 的登录信息,请妥善保存。如图:

在浏览器地址栏输入终端显示的 外网ipv4面板地址 就可以打开ALLinSSL的网页面板了,然后输入账号密码登陆就行(上面安装完后SSH终端界面显示的登陆信息)。

如果要修改密码,在登陆后就可以修改了。

ALLinSSL的管理指令如下,例如要更新ALLinSSL就在SSH终端里执行 allinssl 16

# 基本操作
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 🗑️

使用教程看后面!


云应用一键部署

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

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

点击 我的项目创建

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

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

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

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

资源配置一般默认的最低配置就够用,网页端口一般会随机生成个,你也可以自行修改,修改用户名就改环境变量里的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



最后修改:2025 年 06 月 12 日
如果您觉得我的文章有帮助,请随意赞赏,赞赏有助于激发博主的热情,感谢!