curl https://get.acme.sh | sh
如下所示安装成功:
...
[Tue Sep 24 18:23:55 CST 2019] Good, bash is found, so change the shebang to use bash as preferred.
[Tue Sep 24 18:23:55 CST 2019] OK
[Tue Sep 24 18:23:55 CST 2019] Install success!
acme.sh强大之处在于可以自动配置 DNS,我们不需要去域名后台操作解析记录。
我们这里以在阿里注册的域名为例,其他地方注册的请参考这里自行修改:传送门。
请先前往阿里云后台获取App_Key跟App_Secret传送门,然后执行以下脚本
# 替换成从阿里云后台获取的密钥
export Ali_Key="123"
export Ali_Secret="abbcddddd"
# 换成自己的域名
acme.sh --issue --dns dns_ali -d cdsy.xyz -d *.cdsy.xyz
执行成功后输出:
...
[Tue Sep 24 18:28:45 CST 2019] Download cert, Le_LinkCert: https://acme-v02.api.letsencrypt.org/acme/cert/03324bb19fec1de831b1083a9810ccdd2109
[Tue Sep 24 18:28:47 CST 2019] Cert success.
...
输出的信息包含了证书存放的目录。
我这边生成的证书放在该目录下:/www/server/panel/vhost/cert/cdsy.xyz/cdsy.xyz.cer。
第一次成功之后,acme.sh 会记录下 App_Key 跟 App_Secret,并且生成一个定时任务,通过crontab -e可以看到这个命令。如果不需要我们可以删掉定时任务,并且清理掉 ~/.acme.sh 文件夹就行了。
注意:国内一些厂商可以要求使用 pem 格式的内容,直接拷贝以下两个证书的内容就可以了(cer === PEM):
证书内容( PEM 格式 ):
$ cat domain.cer
证书私钥( PEM 格式 ):
$ cat domain.key