在如今的互联网环境中,为网站配置 SSL 证书已成为安全的标配。本文将介绍如何使用 Let’s Encrypt 免费获取泛域名 SSL 证书,并实现自动续期,为你的网站保驾护航。
环境准备
在开始之前,确保你具备以下条件:
- 一台可以访问互联网的服务器(Linux 环境,如 Ubuntu/CentOS)。
- Root 权限或
sudo
权限。 - 一个已解析的域名(本文以
example.com
为例)。
什么是 Let’s Encrypt?
Let’s Encrypt 是一个免费的、自动化的、开放的证书颁发机构(CA),提供免费 SSL 证书。它的目标是让所有网站都能轻松实现 HTTPS 加密,保障用户数据的安全。通过 Let’s Encrypt,你可以为你的主域名、子域名,甚至泛域名配置安全证书,而且过程完全自动化,不需要手动申请和管理证书,官方推荐使用 Certbot。
安装 Certbot
Certbot 是由 Electronic Frontier Foundation (EFF) 提供的一个开源工具,用于自动化从 Let’s Encrypt 获取和管理 SSL 证书。Certbot 会自动为你处理证书申请、安装和续期等过程。
Linux 系统
推荐使用 Linux 的 snap 包管理工具安装Certbot,支持snap后可以使用如下命令安装Certbot
sudo snap install --classic certbot #安装Certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot #创建一个符号链接,确保可以执行certbot命令(相当于快捷方式)
申请单域名 SSL 证书
如果你只需要为单个域名(如 example.com
和 www.example.com
)申请证书,可以使用以下命令:
sudo certbot --nginx -d example.com -d www.example.com
–nginx 需要服务器预先安装nginx,certbot获取到证书后会自动通过修改nginx的配置将证书安装到nginx上。
根据提示输入邮箱地址,并同意服务条款,Certbot 将自动完成证书申请和安装。
单域名自动续期
Let’s Encrypt 证书的有效期为 90 天,为了避免证书过期,我们可以使用 Cron Job 设置自动续期。
首先,你可以手动测试续期是否正常:
sudo certbot renew --dry-run
如果没有报错,可以继续配置自动续期任务:
sudo crontab -e
在打开的编辑器中添加以下行,表示每天凌晨 2 点执行自动续期任务:
0 2 * * * /usr/bin/certbot renew --quiet
--quiet
参数表示静默模式,不会输出非错误信息。
单域名的操作非常简单,就说到这里!!!
Comments