Certbot 是一个免费、开源且易于使用的工具,用于自动化Let’s Encrypt SSL/TLS 证书的获取和续订。它支持多个操作系统和Web服务器,并提供了简单易用的命令行界面。本文将介绍如何在Linux系统上使用Certbot自动化多域名证书的发放与管理。
安装Certbot
首先需要确保你的Linux系统已经安装了Certbot。不同的Linux发行版有不同的安装方法。以Ubuntu为例:
sudo apt update
sudo apt install certbot python3-certbot-nginx
如果是CentOS,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
准备域名配置文件
为了自动化多域名证书的发放,我们需要创建一个包含所有需要认证的域名列表的文件。通常这个文件放置在/etc/letsencrypt/domains.txt
中。文件内容格式如下:
example1.com www.example1.com
example2.com www.example2.com
运行Certbot并获取证书
接下来,我们可以使用Certbot来获取SSL证书。假设你正在为Nginx配置SSL,那么你可以使用以下命令:
sudo certbot --nginx -d $(cat /etc/letsencrypt/domains.txt | tr 'n' ' ')
这将会读取之前创建的domains.txt文件,并为其中列出的所有域请求证书。Certbot会自动处理验证过程,并将生成的证书配置到Nginx中。
设置自动续订
Let’s Encrypt提供的证书有效期为90天,因此需要定期更新这些证书。幸运的是,Certbot自带了一个方便的自动续订功能。大多数Linux发行版都会默认安装一个定时任务(cron或systemd timer),它每天都会检查是否有即将过期的证书,并尝试自动续订它们。
你可以通过以下命令手动测试续订过程:
sudo certbot renew --dry-run
通过上述步骤,我们可以在Linux上轻松地使用Certbot自动化多域名证书的发放与管理。无论是初次获取证书还是后续的维护工作,Certbot都能大大简化操作流程,确保网站的安全性和可靠性。