我有以下设置:
域名 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 映射到某个地方。
提前致谢!
答案1
您可以使用从 LetsEncrypt 获得的证书以任何方式托管您的服务。但为了获得证书,您首先需要证明您拥有生成证书的域名。对于许多证书颁发机构来说,这是一个相当手动的过程。但 LetsEncrypt 的部分重点是自动化整个证书生命周期,其中包括域验证。
因此 LetsEncrypt 开发了一个名为 ACME 的协议,它使用一组挑战您必须通过至少一项来证明您拥有该域名。人们最常用的挑战是 http 挑战,它要求您在监听端口 80 的 Web 服务器上托管特定文件,用于您为其申请证书的域名。但还有另一种利用 DNS 的挑战类型,它不需要您托管任何内容。相反,您需要将特定的 DNS 记录添加到您为其申请证书的区域。这是一个谷歌文档有人将各种挑战类型放在一起进行比较。
因此,对于你的情况,使用 DNS 质询可能是最合理的。但你应该阅读文档以进一步了解其工作原理。