1、获得DNS AccessKey

我的域名是在阿里云注册的,首先需要在阿里云创建一个子账户获得AccessKey,记录key以及密钥,同时授予该账户DNS解析的权限(AliyunDNSFullAccess)

然后将AccessKey导入到服务器环境变量中

export Ali_Key="******"
export Ali_Secret="*********"

2、安装acme.sh

curl  https://get.acme.sh | sh

3、生成证书

acme.sh  --issue  --dns dns_ali   -d *.lazyrabbit.xyz

4、 copy/安装 证书

证书生成以后,接下来需要把证书copy到真正需要用它的地方

默认生成的证书都放在安装目录下: ~/.acme.sh/

使用--install-cert命令,并指定目标位置,可以把证书文件copy到相应的位置,如下

# 这里要确保证书路径已存在
acme.sh --install-cert -d *.lazyrabbit.xyz \
--key-file       /usr/local/rabb/letsencrypt/*.lazyrabbit.xyz/*.lazyrabbit.xyz.key  \
--fullchain-file /usr/local/rabb/letsencrypt/*.lazyrabbit.xyz/*.lazyrabbit.xyz.cer \
--reloadcmd     "/usr/local/nginx/sbin/nginx -s reload"

ngix ssl部分配置如下

...
ssl_certificate /usr/local/rabb/letsencrypt/*.lazyrabbit.xyz/*.lazyrabbit.xyz.cer;
ssl_certificate_key /usr/local/rabb/letsencrypt/*.lazyrabbit.xyz/*.lazyrabbit.xyz.key;
...

5、更新证书

目前证书在 60 天以后会自动更新,无需任何操作。

6、参考

https://github.com/acmesh-official/acme.sh