Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 具有多域和多子域的LetsEncrypt SSL证书_Email_Ssl_Dns_Certificate_Lets Encrypt - Fatal编程技术网

Email 具有多域和多子域的LetsEncrypt SSL证书

Email 具有多域和多子域的LetsEncrypt SSL证书,email,ssl,dns,certificate,lets-encrypt,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个不同的领域 现在,由于我们将要扩展我们的域基础,并且当前的证书即将到期,我们将仔细研究Lets加密 然而,在我开始之前,我想知道几件事: (1) -主证书中是否必须列出每个子域(邮件。www.等

多年来,我们一直在使用PositiveSSL多域证书,而且效果良好。根据该证书,我们有,例如:

域1:

  • mail.domain1.com
  • www.domain1.com
  • domain1.com
域2:

  • mail.domain2.fr
  • www.domain2.fr
  • domain2.fr
等,共有5个不同的领域

现在,由于我们将要扩展我们的域基础,并且当前的证书即将到期,我们将仔细研究Lets加密

然而,在我开始之前,我想知道几件事:

(1) -主证书中是否必须列出每个子域(
邮件。
www.
等)及其各自的主域?我这样问主要是因为(a)这是我最初的理解,(b)Lets Encrypt的验证阶段将有所不同(
preferred challenges=dns
,而不是默认的基于apache的),这将导致我为每个域/子域添加dns记录

(2) -如果确实需要(如果我别无选择,只能在下一次证书续订时(即<90天)使用
首选挑战=dns
),DNS记录是否仍然必须存在?我这样问是因为上次我在创建DNS记录后离开时,在DNS传播时间之后无法再访问邮件服务器。我很确定这是因为我的设置不好,但我更愿意避免这一风险

(3) -如果我在这里找不到您,请告诉我您有什么更好的建议。

至少,我正在使用主题替代名称(SAN)处理api.websocket.email等的机制。我不必配置DNS记录并使用http质询。执行此操作的确切方式取决于您的acme客户端。我的选项列在配置部分“备选名称”下


编辑:为了澄清,我需要DNS记录将我的子域全部指向同一台服务器,我正在使用此acme客户端-并设置备用名称选项。当获取我在http日志中看到的证书时,允许加密获取每个域的单个质询文件以证明我拥有它。

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

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

感谢@Andrew Chambers的参与。这部分回答了我的问题。我已经把它带到了Let's Encrypt论坛,@。仅供参考。