Bash脚本续订SSL证书

时间:2020-02-23 14:45:24  来源:igfitidea点击:

如何续订LetSencrypt证书

对于CentOS:

运行以下命令:

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
sudo mv certbot-auto /usr/local/bin/

如果我们有一个主动防火墙,则防火墙,在防火墙上打开HTTPS端口。

--- CentOS/Fedora/RHEL ---
$sudo firewall-cmd --add-service https --permanent
$sudo firewall-cmd --reload
--- Debian/Ubuntu --
$sudo ufw allow https

要获取电子邮件警报,请安装mailx包:

--- CentOS/Fedora/RHEL --
$sudo yum -y install mailx
--- Ubuntu/Debian --
$sudo apt-get -y install mailutils

Bash脚本在Tomcat上自动更新Letsencrypt SSL证书

使用脚本

既然我们拥有一切都集,请克隆此脚本,修改它,使其可执行并为其设置Cron作业。

首先克隆存储库:

git clone https://github.com/jmutai/tomcat-letsencrypt.git
cd tomcat-letsencrypt

一旦克隆Repo或者下载脚本。
在我们可以在准备好执行脚本之前,我们需要定义几乎没有变量。

要编辑的文件是tomcat-letsencrypt-auterenew.sh和设置值所需的值:

TOMCAT_DOMAIN="example.com"
TOMCAT_KEY_PASS="Password"
CERTBBOT_BIN="/usr/local/bin/certbot-auto"
EMAIL_NOTIFICATION="Hyman@theitroad"

其中:example.com被替换为Tomcat域名namepassword是Tomcat PasswordHyman @ OniToad是要使用的警报电子邮件地址。

然后保存更改,然后使脚本可执行并将其添加到路径:

$chmod +x tomcat-letsencrypt-autorenew.sh
$sudo cp tomcat-letsencrypt-autorenew.sh /usr/local/bin

我们需要配置Tomcat Server.xml文件,如"配置Tomcat Server"部分在CentOS 7上安装Apache Tomcat的"配置Tomcat Server"部分,使用Letsencrypt SSL证书。
SSL文件应位于/etc/sl/${domain}上.JKS。

通过运行执行脚本:

sudo /usr/local/bin/tomcat-letsencrypt-autorenew.sh

如果我们不需要电子邮件通知。
我们可以跳过send_email_notification函数。

设置Cron工作

要每天运行Cron作业,请检查CERT是否应续订:

sudo crontab -e

添加:

30 3 * * * /usr/local/bin/tomcat-letsencrypt-autorenew.sh

这意味着它将每天凌晨3点运行。
如果证书未续签,则脚本将优雅地退出。