LetsEncrypt包含多个域和多子域的SSL证书

时间:2017-11-14 15:12:17

标签: email ssl dns certificate lets-encrypt

我们多年来一直使用PositiveSSL多域证书,并且一直运作良好。根据该证书,我们有,例如:

域1:

  • mail.domain1.com
  • www.domain1.com
  • domain1.com

域2:

  • mail.domain2.fr
  • www.domain2.fr
  • domain2.fr

等,共有5个不同的域名。

现在,由于我们要扩展我们的域名基础并且当前的Cert即将到期,我们正密切关注Lets-Encrypt。

然而,在我开始讨论这个问题之前,我想了解一些事情:

(1) - 每个子域名(mail. www.等)及其主要域名是否必须列在主证书中?我主要是因为(a)这是我原来的理解,而且(b)Lets-Encrypt的验证阶段会有所不同(preferred-challenges=dns而不是默认的基于apache的),这会引导我为每个域/子域添加DNS记录。

(2) - 如果确实需要(如果我别无选择,只能使用preferred-challenges=dns,则在下次证书续订时(即<90天),DNS记录是否还需要我在问这个问题是因为我上次在创建DNS时忘记了DNS记录,在DNS传播时间之后邮件服务器就再也无法访问了。我很确定这是因为我的设置不好,但我更愿意避免服用。

(3) - 如果我在这里失踪了你有更好的建议给我,请告诉我。

2 个答案:

答案 0 :(得分:1)

https://websocket.email我正在使用主题备用名称(SAN)机制来处理api.websocket.email等。我没有配置DNS记录并使用了http挑战。你这样做的确切方式取决于你的极端客户端。我的配置部分列出了选项&#34;替代名称&#34;。

编辑:为了澄清,我需要DNS记录指向同一服务器的所有子域,我正在使用此极端客户端 - https://man.openbsd.org/acme-client.conf.5并设置备用名称选项。获取我的证书时,我可以在我的http日志中看到,让我们加密每个域获取一个挑战文件以证明我拥有它。

答案 1 :(得分:0)

如果有人有类似的问题或计划,这就是我在process期间学到的:

  • 必须包含证书将用于的每个域名。我们的加密将验证证书中的每个域名。
  • 如果使用DNS-01验证,则所有这些验证都需要添加DNS记录。这样,记录将需要每90天(或您选择的任何时间范围)重新验证域。这将需要每次添加新的TXT记录。保留先前验证中的旧TXT记录将不起作用,每次都会更改值。
  • 还有HTTP-01和TLS-SNI-01挑战类型。如果您已经运行了Apache实例,我建议使用HTTP-01。
  • 如果您在运行mail.domain1.com的计算机上没有网络服务器,您仍然可以使用HTTP-01。 Certbot有一个称为“独立”模式的功能,它可以启动一个小型的内置网络服务器来回答HTTP-01挑战以提供证书。
  • 要在非Web服务器上使用HTTP或TLS-SNI验证,您可以运行类似:certbot certonly --standalone -d mail.example.com的内容。您仍然需要在防火墙中打开端口80或443以使用此方法,但您不需要在这些端口上运行服务器。如果您只想打开一个端口,则可以明确指定质询类型,例如--preferred-challenges http使用端口80或--preferred-challenges tls-sni使用端口443。