如何在 Ubuntu 20.04 上使用 Let's Encrypt 保护 Nginx

原创
ithorizon 7个月前 (10-12) 阅读数 19 #Linux

怎样在 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 保护网站顺利!


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Linux


热门