👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构

RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRMAI大模型、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”

这个命令做了两件事:

  1. 把证书和密钥复制到你指定的Nginx配置路径;

  2. 更重要的是,它记住了这个位置和重载命令。 以后证书自动续期后,它会自动复制新文件并执行systemctl reload nginx,服务无缝切换,零中断。

第4步:坐享其成 从此,你再也不用惦记证书何时过期。acme.sh创建的cron任务会默默检查并管理一切。你可以通过acme.sh --list查看所有已管理的证书。

开源地址

https://github.com/acmesh-official/acme.sh


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

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

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐