Cloudflare Docs
Support
Support
Visit Support on GitHub
Set theme to dark (⇧+D)

验证已在 Cloudflare 上激活的站点的 Let’s Encrypt 证书

​​ 验证已在 Cloudflare 上激活的站点的 Let’s Encrypt 证书

了解如何验证已激活 Cloudflare 站点的 Let’s Encrypt SSL 证书。


​​ 概述

本指南描述如何在以下文档中所述的官方 Let’s Encrypt 客户端中使用 Webroot 方法进行验证的其他详细信息: https://letsencrypt.readthedocs.org/en/latest/using.html#webroot

注意,Let’s Encrypt 客户端用于 ACME 身份验证的默认方式使用 DVSNI 方法。对于已启用 Cloudflare 的域,这将失败,因为我方终止了 SSL (TLS),并且 ACME 服务器不会看到客户端在源站呈现的证书。启用 Cloudflare 时,使用备用 ACME 验证方法(如 DNS 或 HTTP)将能够验证成功。


​​ HTTP 验证

如果您是第一次为已在 Cloudflare 上激活的站点配置 Let’s Encrypt,则使用 webroot 方法进行验证,这是成功验证并获取证书和私钥对所需的步骤。 

  1. 下载 Let’s Encrypt 客户端并切换到下载目录:

    git clone https://github.com/letsencrypt/letsencrypt
    cd letsencrypt/
  2. 运行可实现自动安装的脚本:

    ./letsencrypt-auto
  3. 通过将 letsencrypt 客户端与 certonly 命令和 --webroot 标志一同使用,您能够使用 HTTP 验证来验证并获取证书/密钥对 。示例命令:

    /root/.local/share/letsencrypt/bin/letsencrypt certonly --webroot --webroot-path /usr/share/nginx/html/ --renew-by-default --email email@host.tld --text --agree-tos -d example.tld -d www.example.tld

    其中

    --webroot-path

    是您站点所在服务器上的目录(该示例中使用了 nginx)

    --renew-by-default

    在域名为先前获得的证书的超集时选择默认续订

    --email

    是用于注册和恢复联系方式的电子邮件。

    --text

    显示文本输出

    --agree-tos

    同意 Let’s Encrypt 的订户协议

    -d

    指定要添加到 SAN 的主机名。

  4. 成功完成此验证方法将显示类似于以下内容的文本:

    恭喜您!您的证书和链已保存在 /etc/letsencrypt/live/example.tld/fullchain.pem 中。 您的证书将于 2016-03-03 到期。要在将来获得新版本的证书, 只需再次运行 Let's Encrypt 即可。
  5. 注意,证书和密钥都将保存到/etc/letsencrypt/live/example.tld/。获得这两者后,您将需要手动更新虚拟主机,以使用此密钥/证书对。

务必在 Cloudflare 仪表板中查看域的page rules,以及确认任何方面都不会导致对验证 URL 的请求被重定向或只能通过 HTTPS 访问。


​​ 续订

当需要续订时,使用 letsencrypt renew 命令应可使证书成功续订,无需进行任何 Cloudflare 配置更改,前提是:

  • letsencrypt 客户端用于续订的 .conf 文件指定了authenticator = webroot
  • 验证 URL 可通过 HTTP 访问。
  • 没有为该 URL 应用重定向。

或者,重复上述步骤将重新颁发新证书。