acme.sh 使用详解

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

(0)
上一篇 2022年4月11日
下一篇 2022年4月11日

相关推荐

发表回复

登录后才能评论