我有以下设置:
域 example.com
2 个服务器:server1.example.com 和 server2.example.com
我想使用 srv 记录为我的每项服务提供富有表现力的域名。例如 ssh.server1.example.com 和 imap.server2.example.com,并使用 srv 记录将它们映射到特定端口。
现在,据我了解,letsencrypt 需要在端口 80 上运行以验证域。如果我现在将 ssh.server1.example.com 映射到 server1.example.com 和端口 2222,是否可以从letsencrypt 获得证书?他们会只使用 srv 记录中的 IP 并仍然查看端口 80,还是我绝对需要 A 记录。我不想这样做,我也不会在某个地方映射 *.example.com。
提前致谢!
您可以使用从 LetsEncrypt 获得的证书托管您的服务。但为了获得证书,您首先需要证明您拥有生成证书的域名。对于许多证书颁发机构,这是一个相当手动的过程。但 LetsEncrypt 的部分重点是整个证书生命周期的自动化,包括域验证。
因此,LetsEncrypt 开发了一种称为 ACME 的协议,该协议使用一组挑战,您必须至少通过其中一个挑战才能证明您拥有该域。人们使用的最常见挑战是 http 挑战,它要求您在 Web 服务器上托管特定文件,该文件侦听您请求证书的域的端口 80。但是还有另一种使用 DNS 的挑战类型,它不需要您托管任何东西。相反,您将特定的 DNS 记录添加到您请求证书的区域。这是一个谷歌文档,有人放在一起比较各种挑战类型。
因此,在您的情况下,使用 DNS 挑战可能最有意义。但是您应该阅读文档以了解有关其工作原理的更多信息。