acme.sh说明
acme.sh是一个Let's SSL证书颁发的官方推荐shell脚本开源免费
安装acme.sh
curl https://get.acme.sh | sh
提示:
普通用户和 root 用户都可以安装使用。我这里是docker环境所以用的root
会安装在 ~/.acme.sh/ 目录下,以后生成的证书也会在这里面,按照域名为文件夹安置。
理论上会自动添加一个 acme.sh 别名,但有时候并不会生成,需要手动执行以下命令:
source ~/.bashrc
acme.sh DNS API方式使用
首先获取key和secret,我这里以阿里云为例,先去申请阿里的key和secret
将获取到的key和secret导入到环境变量,也可以配置到系统环境变量/etc/profile末尾
export Ali_Key="key值"
export Ali_Secret="key Secret"
执行命令
acme.sh --issue --dns dns_ali -d *.example.com --force
上方命令执行完毕后证书将生成存放于 ~/.acme.sh/ 目录下,需要根据nginx的配置进行下一步的调整
安装ssl证书到指定目录并重启nginx
#install key
acme.sh --install-cert -d *.example.com --fullchain-file /etc/nginx/conf.d/ssl/cert.pem --key-file /etc/nginx/conf.d/ssl/key.pem --reloadcmd "nginx -s reload" >> /etc/nginx/conf.d/log.txt
自动更新证书
Let's 的证书有效期为60天
目前手动添加DNS获取证书的方式无法自动更新,但是使用DNS API的方式进行获取证书可以在 60 天以后会自动更新, 你无需任何操作.
强制执行更新任务
acme.sh --cron -f
acme升级
目前由于 acme 协议和 Let`s CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.
手动升级 acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手动升级, 可以开启自动升级:
acme.sh --upgrade --auto-upgrade
之后, acme.sh 就会自动保持更新了.
你也可以随时关闭自动更新:
acme.sh --upgrade --auto-upgrade 0
原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/243932.html