2. RHEL8 + Nginx + Node.js + PM2部署SYSIDC

一、

二、

八、创建一个定期自动续签 Let’s Encrypt 证书的脚本,并使用 cron 任务定期执

(1)自动续签脚本

创建一个 renew_ssl.sh 脚本:

vim /root/renew_ssl.sh

添加以下内容:

#!/bin/bash

# 定义域名
DOMAINS="-d sysidc.com -d www.sysidc.com"

# 运行 Certbot 续签命令
certbot renew --nginx --quiet --post-hook "systemctl reload nginx"

# 检查证书是否即将过期(30天内)
if certbot certificates | grep -q "VALID:.* days"; then
    echo "SSL 证书仍然有效,无需更新"
else
    echo "尝试更新 SSL 证书..."
    certbot certonly --nginx $DOMAINS --non-interactive --agree-tos --email admin@sysidc.com
    systemctl reload nginx
    echo "SSL 证书更新完成,并已重新加载 Nginx"
fi

(2)赋予执行权限

(3)配置 cron 自动执行

在文件末尾添加:

这表示 每天凌晨 3 点 自动执行 renew_ssl.sh 并记录日志到 /var/log/ssl_renew.log

(4)手动测试

如果没有问题,cron 将会定期自动续签你的 SSL 证书。

这样,你的 HTTPS 证书就能自动续期,并在更新后自动重载 Nginx 了!

最后更新于