详细完整参见:
https://github.com/Neilpang/acme.sh/wiki/说明
文章已经讲的很详细了,现就就DNS和通配相关的使用做简要摘录和关键步骤说明
想要实现通配证书,目前dns方式是唯一的方式。
-
安装
curl https://get.acme.sh | sh
-
重定向
打开 .bashrc,添加alias acme.sh=~/.acme.sh/acme.sh
,方便命令输入 -
生成证书。
默认dns是需要手动添加域名记录验证归属合法性的,通过dnspod这样的第三方平台 API,我们就可以实现自动验证的功能。export DP_Id="1234" export DP_Key="sADDsdasdgdsf" acme.sh --issue --dns dns_dp -d *.aa.com
dnspod的token申请路径:https://www.dnspod.cn/console/user/security
这期间可能提示你需要:
acme.sh --register-account -m aaa@bbb.com
注意,DNS的账号信息,只需要操作一次,系统会自动记录到配置文件,后面直接使用"--dns dns_dp" 就可以。
- 证书的安装
证书默认是在
目录下的,通过安装可以安装到我们指定的生产环境路径。~/.acme.sh/通配域名/
注意,下面的命令不会自动创建目录,如果目录不存在,需要手动提前创建。
rsa 密钥:
acme.sh --install-cert -d *.aa.com --key-file /path/domain/privkey.pem --fullchain-file /path/domian/fullchain.pem --reloadcmd "systemctl force-reload nginx.service"
说明:以上两个路径是安装的目的地址,也就是将第3步的证书内容,按照这个命令中的地址,进行安装。
ecc 密钥:
acme.sh --install-cert --ecc -d *.aa.com --key-file /path/domain/privkey.pem --fullchain-file /path/domian/fullchain.pem --reloadcmd "systemctl force-reload nginx.service"
以上相关的操作都会被acme脚本自动记录,并且在证书自动更新的时候会自动执行。
-
证书的更新
完成以上后,acme就会自动帮你更新证书了。 -
acme.sh本身的自动更新
开启:acme.sh --upgrade --auto-upgrade
关闭:acme.sh --upgrade --auto-upgrade 0
-
acme的卸载
acme.sh --uninstall