如何在 Ubuntu 20.04 上使用 Let's Encrypt 保护 Nginx
原创怎样在 Ubuntu 20.04 上使用 Let's Encrypt 保护 Nginx
在当今的互联网环境中,保护网站的可靠是至关重要的。使用 HTTPS 协议可以加密客户端和服务器之间的通信,防止数据泄露。Let's Encrypt 是一个免费、自动化的证书颁发机构(CA),它提供了明了易用的工具来帮助网站管理员获取和安装 SSL/TLS 证书。本文将指导您在 Ubuntu 20.04 上使用 Let's Encrypt 保护 Nginx 服务器。
准备工作
在开端之前,请确保您的系统满足以下条件:
- Ubuntu 20.04 服务器。
- 已安装 Nginx。
- 已安装 certbot(Let's Encrypt 客户端)。
安装 certbot
首先,我们需要安装 certbot。您可以使用以下命令从 Ubuntu 的官方仓库安装它:
sudo apt update
sudo apt install certbot python3-certbot-nginx
安装完成后,您可以使用 certbot 命令行工具来管理证书。
生成证书
要为您的网站生成证书,您需要提供域名。以下命令将提示您输入域名的电子邮件地址,并要求您确认要保护的域名:
sudo certbot --nginx
执行此命令后,certbot 将自动检测您的 Nginx 配置,并生成相应的证书。在提示输入电子邮件地址时,请确保提供有效的邮箱,出于证书颁发机构将使用此邮箱与您联系。
自动续期证书
Let's Encrypt 的证书有效期为 90 天。为了确保您的网站始终使用有效的证书,您需要定期更新证书。幸运的是,certbot 提供了一个名为 certbot renew 的命令,它可以自动执行证书续期操作。
要设置自动续期,您可以将以下命令添加到您的 crontab 文件中:
sudo crontab -e
在打开的编辑器中,添加以下行:
0 0 * * * /usr/bin/certbot renew --quiet
保存并关闭编辑器。这行代码将在每天午夜自动运行 certbot renew 命令,以检查证书是否需要续期,并在必要时自动续期。
验证证书安装
要验证证书是否已正确安装,您可以使用以下命令查看 Nginx 配置文件中的 SSL 证书信息:
sudo nano /etc/nginx/sites-available/default
查找以下行:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
...
}
确保您的证书路径与上述路径匹配。如果一切正常,您应该看到指向您的证书和私钥文件的路径。
测试 HTTPS 连接
要测试您的 HTTPS 连接,您可以使用以下命令访问您的网站,并检查 SSL 证书的有效性:
curl -k https://yourdomain.com
其中 `-k` 参数允许 curl 忽略证书验证。如果一切正常,您应该看到类似以下内容:
$ curl -k https://yourdomain.com
SSL certificate subject:
commonName: yourdomain.com
总结
通过以上步骤,您已经在 Ubuntu 20.04 上使用 Let's Encrypt 保护了您的 Nginx 服务器。这不仅节约了您网站的可靠性,而且还能提升用户对您网站的信心度。定期检查证书的续期,并确保您的网站始终保持最新的可靠配置。
祝您使用 Let's Encrypt 保护网站顺利!