使用 acme.sh 申请 SSL 证书
内容提要
本文介绍了如何使用 acme.sh 脚本申请和更新 SSL 证书,简化了因免费证书三个月有效期而导致的繁琐手动操作。通过安装 acme.sh,可以实现自动化添加 DNS TXT 记录,并提供在阿里云等服务商上自动申请证书的步骤和注意事项。
关键要点
-
免费 SSL 证书的有效期缩短为 3 个月,手动申请变得麻烦。
-
acme.sh 是一个实现 ACME 协议的脚本,用于申请和更新免费 SSL 证书。
-
安装 acme.sh 的命令为:curl https://get.acme.sh | sh -s email=my@example.com。
-
手动申请证书的命令为:acme.sh --issue --dns -d mydomain.com -d '*.mydomain.com'。
-
需要注意泛域名的申请,确保包含所需的所有域名。
-
手动申请时需添加 TXT 记录以验证域名权限,申请完成后可删除该记录。
-
证书保存在 ~/.acme.sh/ 目录下,主要文件包括 mydomain.com.cer 和 fullchain.cer。
-
acme.sh 支持自动申请证书,自动添加和删除 TXT 记录。
-
自动申请需要在阿里云获取 AccessKey,并设置 DNS 权限。
-
自动申请命令为:acme.sh --issue --dns dns_ali -d mydomain.com -d '*.mydomain.com'。
-
AccessKey 会明文保存在 ~/.acme.sh/account.conf 文件中,需注意安全。
-
acme.sh 会添加定时任务自动检查证书更新。
-
默认证书颁发机构为 ZeroSSL,可用 --set-default-ca 修改为 Let's Encrypt。
延伸解读
自动化申请的优势
使用 acme.sh 自动申请 SSL 证书可以显著减少手动操作的复杂性,尤其是在证书每三个月需要更新的情况下。通过自动化添加和删除 DNS TXT 记录,用户可以节省时间并降低出错的风险。
安全性考虑
在使用自动申请功能时,AccessKey 会以明文形式保存在配置文件中,可能存在安全隐患。用户应定期检查和管理这些敏感信息,确保不被泄露。
泛域名申请的注意事项
申请泛域名证书时,需明确包含的域名层级。仅使用 *.mydomain.com 不会覆盖 mydomain.com,因此在申请时应同时添加根域名,以确保所有相关子域名均被保护。
延伸问答
如何使用 acme.sh 安装 SSL 证书?
可以通过运行命令 curl https://get.acme.sh | sh -s email=my@example.com 来安装 acme.sh。
手动申请 SSL 证书的步骤是什么?
安装 acme.sh 后,使用命令 acme.sh --issue --dns -d mydomain.com -d '*.mydomain.com' 申请证书,并添加 TXT 记录以验证域名权限。
如何自动申请 SSL 证书?
需要在阿里云获取 AccessKey,并设置 DNS 权限,然后运行命令 acme.sh --issue --dns dns_ali -d mydomain.com -d '*.mydomain.com'。
acme.sh 如何处理证书更新?
acme.sh 会添加定时任务每天自动检查证书是否需要更新,并在需要时自动更新。
使用 acme.sh 申请证书时需要注意什么?
需要确保添加的 TXT 记录正确,并注意 AccessKey 的安全性,避免明文保存。
acme.sh 支持哪些证书颁发机构?
acme.sh 默认使用 ZeroSSL,也可以通过 --set-default-ca 修改为 Let's Encrypt。