Xiao.Lei- CentOS 7 使用 Certbot 安装 SSL 证书并自动续订

引言

在今天的网络环境中,保护网站和应用程序的数据传输安全至关重要。使用SSL证书可以加密数据传输,并为您的网站提供更高的安全性。Certbot是一个开源的工具,可以帮助您轻松获取和管理SSL证书。本文将详细介绍在CentOS 7上使用Certbot安装SSL证书并设置自动续订的步骤。
在这里插入图片描述

1. 准备工作

在开始之前,请确保您已完成以下准备工作:

  • 已在CentOS 7服务器上安装了Apache或Nginx等Web服务器(本次以Nginx为例)。
  • 确保域名的DNS记录已正确配置,指向服务器的IP地址。

2. 安装 Certbot

Certbot可以通过EPEL存储库进行安装。执行以下命令安装EPEL存储库:

sudo yum install epel-release

然后,使用snapd来装certbot:

sudo yum install snapd

设置快捷方式以及开启自启

sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

安装certbot

sudo snap install --classic certbot

设置快捷方式

sudo ln -s /snap/bin/certbot /usr/bin/certbot

3. 获取 SSL 证书

执行以下命令使用Certbot获取SSL证书。假设我们的配置文件在/usr/local/nginx/conf

sudo certbot --nginx --nginx-server-root=/usr/local/nginx/conf

Certbot将提示您提供有效的电子邮件地址,以便在证书到期时通知您。完成后,Certbot将自动配置您的Web服务器以使用SSL,并生成相应的证书。
在这里插入图片描述
在这里插入图片描述

4. 自动续订证书

为了确保SSL证书始终保持更新,建议设置自动续订任务。创建一个cron任务,定期执行Certbot来检查证书的到期情况并续订。

sudo crontab -e

在编辑器中添加以下行,每天执行一次续订操作:

0 0,12 * * * certbot renew --quiet

保存并关闭编辑器。这条crontab规则将每天中午12点和午夜0点触发证书续订。

5. 验证自动续订

您可以手动验证证书是否能够成功自动续订,执行以下命令:

sudo certbot renew --dry-run

如果没有错误消息,证明自动续订配置正确。
在这里插入图片描述

6. 附加配置(可选)

6.1 强制 HTTPS

为了增加安全性,您可以配置Web服务器,强制所有HTTP请求重定向到HTTPS。

在Apache中,可以使用以下配置:

<VirtualHost *:80>
    ServerName your_domain.com
    Redirect permanent / https://your_domain.com/
</VirtualHost>

在Nginx中,可以使用以下配置:

server {
    listen 80;
    server_name your_domain.com;
    return 301 https://$host$request_uri;
}

6.2 定制 SSL 配置

如果您有特殊的SSL配置需求,可以在Web服务器配置文件中进行相应的定制。例如,在Apache中,您可以编辑/etc/httpd/conf.d/ssl.conf文件。在Nginx中,编辑/etc/nginx/conf.d/ssl.conf文件。

结语

通过使用Certbot,您可以轻松地在CentOS 7上安装SSL证书并设置自动续订,为您的网站提供更高的安全性。确保及时续订SSL证书,以保障数据传输的安全性。希望本文详细的步骤和配置能够帮助您成功地配置SSL证书。