
它是什么
Let's Encrypt 由非营利组织 Internet Security Research Group 运营,于 2015 年开始签发证书。它的证书受所有主流浏览器和操作系统信任。它们是经过域名验证的 SSL 证书:Let's Encrypt 只检查您是否控制该域名,除此之外不检查任何东西。
流程如何运作
无需填写表单,也无需付费。服务器上的软件(称为 ACME 客户端)向 Let's Encrypt 申请证书。Let's Encrypt 回复一个质询,以证明对域名的控制权,质询形式要么是服务器必须在指定地址发布的一个文件,要么是必须出现在 DNS 中的一条记录。验证通过后,证书即被签发并安装。同一软件会在证书到期前续期。
- Certbot:最知名的客户端,由电子前哨基金会(Electronic Frontier Foundation)维护。
- 内置支持:Caddy 和 Traefik 等 Web 服务器和代理、大多数托管控制面板,以及 OPNsense 等防火墙,都可以自行申请证书。
- 在 Kubernetes 中:cert-manager 为 Kubernetes 集群中的服务申请并续期证书。
依赖它之前需要了解的事
- 设计上有效期很短:证书的有效期一直是 90 天,Let's Encrypt 正在转向更短的期限。续期必须自动进行。手动续期的证书最终总会被遗忘。
- 通配符需要 DNS:覆盖每个子域名的证书只能通过 DNS 记录来证明,因此客户端需要能访问您的 DNS 服务商。
- 内部系统:无法从互联网访问的服务器,只要使用真实的域名,仍然可以通过 DNS 方式获得证书。
- 频率限制:对一个域名在一段时间内可申请的证书数量有限制。正常使用不会触及,但配置错误的脚本可能会。
- 不做企业验证:它不签发组织验证或扩展验证证书。很少有网站需要这些。
- 盯紧续期:当 DNS 变更、防火墙规则移动或服务器重建时,自动续期会悄无声息地失败。请监控到期日期。
KawaConnect 如何使用 Let's Encrypt
我们在自己构建的 Linux 服务器、反向代理和 Kubernetes 集群上使用 Let's Encrypt 证书,续期自动化,并监控到期日期。当网站位于 Cloudflare 之后时,访问者看到的证书来自 Cloudflare,服务器上的证书则另行处理。我们会记录每个系统使用哪种方式,以便快速追查续期问题。
相关服务
了解更多
- Let's Encrypt项目自己的网站,提供文档、状态以及关于证书有效期的公告。
- Let's Encrypt 如何工作分步骤讲解质询和签发过程。
- Certbot在特定 Web 服务器和操作系统上获取证书的说明。
- cert-manager 文档Kubernetes 内部证书管理的标准工具。
- 维基百科上的 Let's Encrypt项目的历史、赞助方和规模。