侧边栏壁纸
博主头像
LLJJJJ的博客

行动起来,活在当下

  • 累计撰写 15 篇文章
  • 累计创建 9 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

Let’s Encrypt证书安装

Administrator
2026-08-12 / 0 评论 / 1 点赞 / 9 阅读 / 0 字

什么是 Let’s Encrypt?

Let’s Encrypt 是一个免费的、自动化的、开放的证书颁发机构(CA),提供免费 SSL 证书。它的目标是让所有网站都能轻松实现 HTTPS 加密,保障用户数据的安全。通过 Let’s Encrypt,你可以为你的主域名、子域名,甚至泛域名配置安全证书,而且过程完全自动化,不需要手动申请和管理证书,官方推荐使用 Certbot。

Let’s Encrypt 证书颁发原理

Let’s Encrypt 证书的颁发是通过 自动化的认证流程 完成的,以下是基本流程:

1. 域名验证

在申请证书之前,Let’s Encrypt 必须验证你对所申请域名的控制权。这是通过以下几种方式进行的:

  • HTTP-01 验证:Let’s Encrypt 向你请求创建一个特定的文件,并放在你网站的指定路径下。它通过访问该文件来验证你是否控制该域名。

  • DNS-01 验证:Let’s Encrypt 提供一条 DNS TXT 记录,要求你将其添加到域名的 DNS 设置中。它通过检查 DNS 记录来验证你对域名的控制权。

对于 泛域名证书,必须使用 DNS-01 验证方式,因为 HTTP 验证不能跨域名层级进行。

2. 证书生成

一旦验证成功,Let’s Encrypt 会生成一个 SSL 证书,并将其发放给申请者。这个证书包含了公钥和域名信息,任何人都可以通过该证书与网站进行安全通信。

3. 证书安装

手动安装:证书的安装可以选择手动安装的,如果用的docker版的nginx服务器或者Nginx 和 Certbot 不在同一台服务器或你想用非标准的证书存放路径。这三种情况需要手动安装。

自动安装:可以由 Certbot 自动完成,前提是你已经在服务器上安装 NginxApache 等服务器。Certbot 会将证书安装到 Web 服务器(如 Nginx 或 Apache)上,并配置好相应的加密设置,自动安装会更方便。

4. 自动续期

Let’s Encrypt 的证书有效期为 90 天,因此需要定期续期。Certbot 自动进行续期验证,确保你的网站不会因为证书过期而遭到用户的安全警告。

Certbot 的工作原理

Certbot 是一个命令行工具,用于自动化整个 SSL 证书的管理流程。它可以做以下几件事:

  • 申请证书:使用 ACME 协议从 Let’s Encrypt 获取证书。

  • 验证域名所有权:通过 HTTP-01 或 DNS-01 验证确保你拥有该域名。

  • 安装证书:将证书自动安装到你的 Web 服务器,并配置相关的加密参数。

  • 续期证书:定期自动续期证书,避免证书过期。

Certbot 的核心工作是通过 ACME 协议(自动证书管理环境)与 Let’s Encrypt 通信。ACME 是一套标准协议,用于自动化证书申请、验证和安装的过程。Certbot 使用 ACME 协议与 Let’s Encrypt 进行通信,确保你的网站能够通过安全的 HTTPS 连接。

单域名 SSL 证书自动安装(最简单的方式)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d lljjjj.top -d www.lljjjj.top

将自动生成证书以及nginx配置

设置自动续期

Let's Encrypt 证书有效期 90 天,需要设置自动续期。

先手动测试续期是否正常

bash

sudo certbot renew --dry-run

看到 success 表示没问题

添加定时任务

sudo crontab -e

0 2 * * * /usr/bin/certbot renew --quiet --deploy-hook "systemctl reload nginx"

--quiet 参数表示静默模式,不会输出非错误信息。

这表示每天凌晨 2 点自动检查证书,如果即将到期则自动续期,续期成功后自动重载 Nginx。

1

评论区