下载脚本
1. 介绍
一个完全用Shell(Unix shell)语言编写的ACME协议客户端 官网
2. 安装
curl https://get.acme.sh | sh -s email=xxxxxx@icloud.com
切换证书机构
./acme.sh --set-default-ca --server letsencrypt
注册账户,返回账户指纹
./acme.sh --register-account -m xxxxxx@icloud.com
ACCOUNT_THUMBPRINT='xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
3. DNS验证
自动DNS(推荐)
阿里云添加用户,生成AccessKey和AccessSecret(过程略)
用户增加 AliyunDNSFullAccess 权限
导入环境变量,导入后脚本会保存到~/.acme.sh/account.conf
文件中,不用担心重启环境变量丢失
export Ali_Key="xxxxxxxxxxxxxxxxx"
export Ali_Secret="xxxxxxxxxxxxxxxxxxx"
4. 证书
4.1 申请证书
签发的证书会保存在~/.acme.sh/
目录下(不建议使用这里的证书)
./acme.sh --issue --dns dns_ali -d xxx.com -d *.xxx.com
4.2 安装证书
安装证书到指定目录,需要指定证书路径和重启命令
./acme.sh --install-cert -d xxx.center \
--key-file /etc/nginx/ssl/xxx.center.key.pem \
--fullchain-file /etc/nginx/ssl/xxx.center.cert.pem \
--reloadcmd "nginx -s reload"
5. 自动续签
5.1 定时任务
acme会加入定时任务,每60天自动续签,不需要手动续签
[root@host .acme.sh]# crontab -l
9 18 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
5.2 强制续签
续签一次
./acme.sh --cron --force
6. 软件升级
acme.sh 正在不断开发中,因此强烈建议使用最新的代码。
您可以将 acme.sh 更新到最新代码:
acme.sh --upgrade
您还可以启用自动升级:
acme.sh --upgrade --auto-upgrade
然后 acme.sh 将自动保持最新状态。
禁用自动升级:
acme.sh --upgrade --auto-upgrade 0