acme.sh让SSL证书管理自动化,从申请到续期一键搞定

技术社区 作者:KnowSafe 2025-06-22 19:53:43 阅读:12

acme.sh是一个纯Shell实现的Let's Encrypt客户端,特点鲜明:

轻量简单

  • • 纯Shell脚本,无需安装依赖
  • • 所有操作都在一个脚本搞定
  • • 安装包只有几百KB
  • • 支持Docker一键部署
  • 几乎适合所有系统

功能强大

  • • 支持所有类型SSL证书申请
  • • 自动DNS验证
  • • 支持多域名证书
  • • 支持泛域名证书
  • • 自动续期无需干预
  • • 支持多种DNS服务商API

实用特性

  • • 证书安装位置可自定义
  • • 支持Nginx/Apache自动配置
  • • 支持命令行和API调用
  • • 证书信息备份恢复
  • • 详细的日志记录

快速上手

  1. 1. 安装配置

curl https://get.acme.sh | sh

  1. 2. 申请证书

# 普通域名 acme.sh --issue -d example.com -w /home/wwwroot/example.com # 泛域名(以阿里云DNS为例) export Ali_Key="你的阿里云key" export Ali_Secret="你的阿里云secret" acme.sh --issue --dns dns_ali -d example.com -d *.example.com

  1. 3. 安装证书

acme.sh --install-cert -d example.com \ --key-file       /path/to/keyfile/in/nginx/key.pem  \ --fullchain-file /path/to/fullchain/nginx/cert.pem \ --reloadcmd     "service nginx force-reload"

  1. 4. 自动更新

# 安装时已自动创建定时任务 crontab -l

实际应用分享

用了半年acme.sh后,最大的感受是省心。以前每次证书快过期都要手动操作,现在完全不用管了。特别是管理多个域名的时候,一个命令就能搞定证书申请,还能自动配置到Nginx。

比如前段时间需要给十几个子域名申请证书,用DNS验证方式,写个循环一键搞定,要是手动操作非得忙活一下午。

最近团队所有项目都切换到了acme.sh,配合CI/CD流程,新项目上线完全不用操心证书问题。如果你也在为证书管理发愁,真心建议试试这个工具。

注意事项

  1. 1. DNS API配置要注意权限,建议单独创建子账号
  2. 2. 首次配置最好先用测试证书
  3. 3. 日志文件要定期清理
  4. 4. 多留意证书续期的邮件通知

总的来说,acme.sh是目前最好用的免费SSL证书管理工具,没有之一。开源、轻量、可靠,配置简单又省心,值得每个运维人员拥有。

开源地址:
https://github.com/acmesh-official/acme.sh
源码快速下载:
https://pan.quark.cn/s/d5f8ce6fc915#/list/share,
为当天最新资源,如有更新请参考Github的release版本或者官网

赞助链接
在线咨询

Copyright © 2015 KnowSafe All rights reserved.

蜀ICP备20006130号-8