多服务器自动更新https证书(服务器升级 页面跳转)
之前在jumpserver服务器上配置了acme自动更新和发布本地证书,由于申请的是泛域名证书,所以想在证书自动更新的时候,同步更新其他服务器上的证书
环境:
服务器一:jumpserver服务器,ip:192.168.210.35,ubuntu22.04
服务器二:nextcloud服务器,ip:192.168.210.38,ubuntu22.04
需要把证书从jumpserver服务器自动更新到nextcloud服务器
一:配置nextcloud服务器root用户密钥登录
1、配置nextcloud服务器root用户允许登录
#设置root密码
passwd root
#编辑ssh配置文件
nano /etc/ssh/sshd_config
#添加PermitRootLogin yes
PermitRootLogin yes
#重启ssh服务
systemctl restart sshd
2、在jumpserver服务器上生成密钥,并配置root用于密钥登录
#生成ssh密钥对
cd /root
ssh-keygen -t rsa -b 2048
#将公钥添加到远程服务器
ssh-copy-id root@192.168.210.38
#测试远程登录
ssh root@192.168.210.38
二、在jumpserver服务器上编辑发布脚本
cd /root/.acme.sh
vi deploy_certs.sh
添加如下脚本
# 本地服务重启
/opt/jumpserver-installer/jmsctl.sh restart
#发布到192.168.210.38
# SCP命令将证书文件传输到192.168.210.38服务器
scp /root/.acme.sh/boue.top_ecc/boue.top.cer root@192.168.210.38:/var/snap/nextcloud/current/certs/custom/cert.pem
scp /root/.acme.sh/boue.top_ecc/boue.top.key root@192.168.210.38:/var/snap/nextcloud/current/certs/custom/privkey.pem
scp /root/.acme.sh/boue.top_ecc/fullchain.cer root@192.168.210.38:/var/snap/nextcloud/current/certs/custom/chain.pem
#重启远程nextcloud
ssh root@192.168.210.38 "snap restart nextcloud"
多台服务器只需增加相应的scp命令和远程重启命令
添加执行权限
chmod +x deploy_certs.sh
三、修改jumpserver服务器本机发布脚本
acme.sh --installcert -d boue.top \
--key-file /opt/jumpserver/config/nginx/cert/jumpserver.key \
--cert-file /opt/jumpserver/config/nginx/cert/jumpserver.pem \
--fullchain-file /opt/jumpserver/config/nginx/cert/jumpserver.pem \
--reloadcmd "/root/.acme.sh/deploy_certs.sh"