如何在 Ubuntu 20.04 中使用 Certbot 安装 Let’s Encrypt 证书

在 SSL/TLS 中,SSL 代表安全套接字层,其中 TLS 代表传输层安全性。 SSL/TLS 是一种流行的加密协议,它通过 HTTPS 协议对数据进行加密,从而在服务器和设备之间建立安全连接。 它是一种在 Web 服务器和浏览器中广泛实施的身份验证协议,它在不安全的 HTTP 上创建一个安全层,以实现它们之间的安全数据交换。 对于 SSL/TLS,我们需要一个有效的证书颁发机构 (CA),在本文中,我们将使用免费的 Let’s Encrypt CA。

Certbot 是一个开源软件工具,用于在 Web 上集成和管理 Let’s Encrypt 证书以启用安全的 HTTPS 协议。 它将自动为您管理 Let’s Encrypt 证书。 为此,您需要一个有效的域,其中包含您的服务器 IP 地址,以及带有预配置服务器块的 Nginx。

在本文中,我将向您展示如何使用 Certbot 在 Ubuntu 20.04 中安装 let’s encrypt 证书。 出于演示目的,我将使用 Nginx Web 服务器。

先决条件

  1. 你的域名应该映射到公网IP
  2. 用于 ssl 终止的 Web 服务器(nginx、apache 或任何其他)。
  3. 80 端口应该向公众开放。

安装 Certbot

要安装 Certbot 和 Nginx 插件,请执行以下命令。 在安装 Certbot 之前,请确保您更新了包信息。

$ sudo apt update
$ sudo apt install certbot python3-certbot-nginx

确保您的 Nginx 配置正常工作并且域名包含在配置中。

使用 Certbot 获取 Let’s Encrypt 证书

我们可以使用 Certbot 提供的不同插件以不同方式获取 SSL 证书。 要获取证书,我们将使用 certbot 命令以及我们之前安装的 Nginx 插件。 Nginx 插件将在需要时管理自动配置和重新加载 Nginx 配置。 为此,您需要执行以下命令。

$ sudo certbot --nginx

执行上述命令后,Certbot 将提供选择域的选项,它将为其请求所选域的证书。 在这种情况下,我们将请求证书的子域是选项 2。

Certbot 命令执行后的输出。

现在,Certbot 将执行一些任务,并再次询问您是否要将 HTTP 流量重定向到 HTTPS。 选择您喜欢的选项数量,然后按 Enter。