使用acme.sh自动化脚本自动签发Let's Encrypt 证书
CentOS
发布时间:2025-05-29 17:31:15
安装命令:
curl https://get.acme.sh | sh -s email=my@example.com
安装过程不会污染已有的系统任何功能和文件,所有的修改都限制在安装目录中: ~/.acme.sh/
注意:如果安装完成后提示 -bash: acme.sh: command not found,需要手动执行 source ~/.bashrc
升级 acme.sh 到最新版:
acme.sh --upgrade
如果你不想手动升级,可以开启自动升级:
acme.sh --upgrade --auto-upgrade
修改默认 CA
acme.sh 脚本默认 CA 服务器是 ZeroSSL,把 CA 服务器改成 Let's Encrypt:
acme.sh --set-default-ca --server letsencrypt
手动验证DNS
acme.sh --issue --dns -d example.com --yes-I-know-dns-manual-mode-enough-go-ahead-please
自动验证(DNS API)以Aliyun为例
export Ali_Key="--key--"
export Ali_Secret="--sercert--"
签发通配符证书:
acme.sh --issue --dns dns_ali -d example.com -d *.example.com
更详细的 DNS API 用法: https://github.com/acmesh-official/acme.sh/wiki/dnsapi
继签证书:
acme.sh --renew -d example.com
安装复制证书
Apache 示例:
acme.sh --install-cert -d example.com --cert-file /path/to/certfile/in/apache/cert.pem --key-file /path/to/keyfile/in/apache/key.pem --fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem --reloadcmd "systemctl reload httpd"
Nginx 示例:
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 "systemctl reload nginx"
注意:reloadcmd 非常重要。证书会自动申请续签,但是如果没有正确的 reloadcmd 命令,证书可能无法被重新应用到 Apache 或者 Nginx,因为配置没有被重载。
查看已安装证书信息
acme.sh --info -d example.com
查看所有安装的证书
acme.sh --list
删除一条安装的证书
acme.sh --remove -d example.com
评论: