45k Star,一款开源神器,实现证书的永久自动续期!
acme.sh 是一款免费、开源、轻量级的 ACME 协议客户端工具,专门用于自动化申请和续期 SSL/TLS 证书,支持 Let's Encrypt、ZeroSSL、Buypass 等主流免费证书颁发机构(CA)。别被“Shell脚本”局限,它的支持列表非常广泛:从各种Linux发行版(Ubuntu, CentOS等)、BSD系统(FreeBSD, OpenBSD),到macOS,甚至通过Cyg
👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
《项目实战(视频)》:从书中学,往事上“练”
《互联网高频面试题》:面朝简历学习,春暖花开
《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题
《精进 Java 学习指南》:系统学习,互联网主流技术栈
《必读 Java 源码专栏》:知其然,知其所以然

👉这是一个或许对你有用的开源项目
国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构
RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRM、AI大模型、IoT物联网等功能:
多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro
微服务:https://gitee.com/zhijiantianya/yudao-cloud
视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK17/21+SpringBoot3、JDK8/11+Spring Boot2双版本
如果你自己部署过网站,或者运维过服务器,一定对SSL/TLS证书又爱又恨。爱的是,它给网站挂上了那把安全的小锁(🔒),瞬间专业又可靠;恨的是,这玩意儿它会过期!
而且现在主流的免费证书有效期都缩短到了90天,一不留神就“证书过期”,网站直接罢工给你看。
以前,我们得在日历上设好提醒,每隔几个月就手动登录服务器,重新申请、下载、配置证书……繁琐又容易忘。
但现在,有了 ACME (自动证书管理环境) 协议,这一切都可以自动化了。而今天要介绍的 acme.sh,就是实现这个“自动驾驶”梦想的、一个极其强大又轻巧的Shell脚本工具。
简介
acme.sh 是一款免费、开源、轻量级的 ACME 协议客户端工具,专门用于自动化申请和续期 SSL/TLS 证书,支持 Let's Encrypt、ZeroSSL、Buypass 等主流免费证书颁发机构(CA)。它的核心优势是无依赖、跨平台、自动化程度高,广泛用于服务器、嵌入式设备等场景的证书管理。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro
视频教程:https://doc.iocoder.cn/video/
核心优势
ACME客户端有很多选择,比如EFF官方的Certbot、Go语言写的lego等。但acme.sh在其中脱颖而出,得益于以下几个优势特征:
1. 纯粹与零依赖 它的最大特点是用纯Unix Shell脚本编写 。这意味着它不需要Python、Go或其他任何运行时环境,在绝大多数Linux/Unix系统上(包括各种精简的Docker容器)开箱即用。这极大地减少了兼容性问题和依赖冲突,让部署变得无比简单。
2. 强大的跨平台能力 别被“Shell脚本”局限,它的支持列表非常广泛:从各种Linux发行版(Ubuntu, CentOS等)、BSD系统(FreeBSD, OpenBSD),到macOS,甚至通过Cygwin或WSL支持Windows。
3. “全家桶”式的功能支持
-
证书类型 :支持普通的单域名证书、多域名SAN证书,以及非常实用的通配符证书 (
*.example.com)。 -
验证方式 :除了基本的HTTP文件验证,它最受推崇的是对数十种DNS API的集成支持 (如Cloudflare,阿里云,腾讯云DNSPod等)。你只需要配置好API密钥,它就能自动操作DNS添加TXT记录完成验证,特别适合那些没有公网IP或80/443端口被封的服务器。
-
加密算法 :支持传统的RSA和更现代、更高效的ECC(椭圆曲线)证书 。
-
自动化闭环 :不仅自动申请,还能通过
--install-cert命令自动将证书安装到Nginx/Apache等服务器,并执行重载命令 。安装后自动创建cron任务,未来所有的续期、部署全部静默完成,你甚至感觉不到它的存在。
4. 多CA支持与灵活切换 它不绑定任何一家CA。默认使用ZeroSSL,但一键就能切换到Let‘s Encrypt、Buypass、SSL.com或Google Public CA。下表是主要免费CA的对比,帮你做选择:
|
特性 |
Let‘s Encrypt |
ZeroSSL(默认) |
Buypass |
Google Public CA |
|---|---|---|---|---|
| 有效期 |
90天 |
90天 |
180天 |
90天 |
| 通配符 |
支持 |
支持 |
(已停止服务) |
支持 |
| 多域名 |
支持(最多100个) |
支持 |
原支持最多5个 |
支持 |
| 国内访问 |
优秀 |
优秀 |
N/A |
验证服务器可能被墙 |
| 特点 |
社区标杆,应用最广 |
提供Web管理界面 |
曾以180天有效期著称 |
需申请内测 |
你可以根据网络状况或偏好自由切换:acme.sh --set-default-ca --server letsencrypt。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/yudao-cloud
视频教程:https://doc.iocoder.cn/video/
使用指南
第1步:一键安装 打开终端,一行命令搞定(请替换your-email@example.com):
curl https://get.acme.sh | sh -s email=your-email@example.com
或者用wget。安装脚本会自动将acme.sh添加到你的用户路径(~/.acme.sh/)。
第2步:签发证书 假设你的域名是example.com,并且已经解析到了当前服务器。
# 使用Nginx等Web服务器运行模式进行验证(80端口需空闲)
acme.sh --issue -d example.com -d www.example.com --nginx
# 或者使用独立模式(如果80端口空闲,但未安装Nginx/Apache)
# acme.sh --issue -d example.com --standalone
几秒钟后,证书和密钥就会安静地躺在~/.acme.sh/example.com/目录下。
第3步:自动安装到Nginx(关键!) 这是实现完全自动化的魔法命令:
acme.sh --install-cert -d example.com \
--key-file /etc/nginx/ssl/example.com.key \
--fullchain-file /etc/nginx/ssl/example.com.fullchain.crt \
--reloadcmd “systemctl reload nginx”
这个命令做了两件事:
-
把证书和密钥复制到你指定的Nginx配置路径;
-
更重要的是,它记住了这个位置和重载命令。 以后证书自动续期后,它会自动复制新文件并执行
systemctl reload nginx,服务无缝切换,零中断。
第4步:坐享其成 从此,你再也不用惦记证书何时过期。acme.sh创建的cron任务会默默检查并管理一切。你可以通过acme.sh --list查看所有已管理的证书。
开源地址
https://github.com/acmesh-official/acme.sh
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。





文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
更多推荐
所有评论(0)