域名证书自动续期脚本acme同一证书更新后安装到多个程序目录的方法

20241121更新注意事项

acme.sh生成的证书默认存储在 /home/{安装所属用户名}/.acme.sh/{你的域名} 下面

其中 你的域名.key是私钥,对应nginx配置项里的ssl_certificate_key,复制到项目时后缀名可直接改为更加通用的文本格式.pem;

fullchain.cer是证书,对应nginx配置项里的ssl_certificate,同样后缀名可直接改为更加通用的.pem;

------------------------------

需求:

同一个证书,有两个程序在使用,比如,nginx和apache,使用acme进行自动续期,前面都正常,但是使用acme.sh --install-cert的时候,只会记住最后一次设定的目录,比如先执行了nginx的,后执行了apache,则续费后,只更新apache的证书目录,想要实现两个都更新.

解决方法:

1.笨方法:将两个程序的证书目录设为同一个,优点是直接方便,缺点是不灵活.

2.推荐方法:用--install-cert --reloadcmd "/path/to/your.sh",这也是作者推荐的方法,这样非常灵活,续期后就会执行你的脚本,你可以根据自己的需求编写续期完成后需要执行的操作,这里我们就使用 cp 复制证书到多个程序的证书目录,然后别忘了写重启程序或重新加载证书的命令.

参考资料:

What is the difference between '--deploy' and '--install-cert'? · Issue #4437 · acmesh-official/acme.sh · GitHub

posted @ 2024-06-17 10:42  dirgo  阅读(46)  评论(0编辑  收藏  举报