当前网络安全环境需要我们必须对我们的网站进行SSL配置。但是自从各大云服务供应商陆续把免费证书从一年变成了3个月后,证书忘记续签是时有发生的事情,而证书的续签通常是一个繁琐的过程,可能会导致意外的服务中断。然而,诸如Let’s Encrypt这样的CA组织提供了自动续签服务,可确保我们的证书不会过期。在本文中,我们将学习如何配置您的Nginx或Apache服务器以自动更新Let’s Encrypt SSL证书。
安装Certbot
Certbot是用于自动化Let’s Encrypt证书管理的命令行工具。 首先,您需要根据您的操作系统版本安装Certbot和Certbot安装包。 这里有一些命令示例,您可以在Debian和Ubuntu操作系统中使用它们:
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-nginx -y
运行这些命令后,Certbot将被成功安装在您的系统上,并且您将能够使用它来获取和更新您的证书。
获取证书
运行以下命令获取您的Let’s Encrypt证书:
sudo certbot --nginx
设置自动续签
让我们设置cron作业来自动更新我们的证书。_certbot renew_指令将查看您的所有证书,并更新在30天内到期的任何证书。
默认情况下,Certbot将在系统的/etc/cron.d目录中创建一个cron作业,以自动更新在30天内到期的任何证书。然而,由于许多原因,这个作业可能不会按预期运行。为了证明它正在运行,我们将创建自己的cron作业。
打开cron表编辑器:
sudo crontab -e
然后,将以下行添加到cron表的底部:
0 12 * * * /usr/bin/certbot renew --quiet
这将会让 cron 每天中午尝试证书续签。–quiet标志将仅在有错误时才输出信息。
验证自动续签
最后的步骤是验证您的配置是否正确。首先,我们可以利用Certbot的一个伟大特性 —— 在真正尝试更新证书之前,我们可以先进行模拟。
要模拟续签过程,请运行以下命令 :
sudo certbot renew --dry-run
如果一切顺利,您将看到一条信息,告诉您证书续签操作已经成功。
让我们的网站安全不再是繁琐的任务,感谢Let’s Encrypt和Certbot的组合,我们可以安心地知道我们的网站始终受到最新和最安全的保护。
希望本文对您的Let’s Encrypt SSL证书自动更新工作有所帮助!