SRV 记录允许在不同于 A/AAAA 记录指示的主机上托管特定域(通常为 XMPP)的服务。但是,根据我在文档中看到的内容,提供服务的主机必须仍然具有原始域名授权它的证书。
那么:有什么好的解决方案可以让我在不同机器上为同一域运行安全的 XMPP 服务器和 HTTP 服务器吗?
例如,考虑 example.com
的这个区域:
@ 10800 IN A 0.0.0.0
_xmpp-client._tcp 10800 IN SRV 5 0 5222 xmpp.example.com.
_xmpp-server._tcp 10800 IN SRV 5 0 5269 xmpp.example.com.
xmpp 10800 IN A 0.0.0.1
位于 0.0.0.1 的服务器必须有一个证书来验证名称 example.com
,但只有 0.0.0.0(作为 example.com 的 A 记录)可以从让我们加密。
我是否只是……在 0.0.0.0 上生成证书,然后每次都通过网络传输它?还是临时设置 0.0.0.0 上的 Web 服务器将 /.well-known/acme-challenge/
请求转发到 0.0.0.1?这些似乎都不是非常稳健或安全。
SRV 记录在无处不在的 https 世界中是否基本上无法使用?
最佳答案
啊。
LetsEncrypt支持其他不依赖A记录的挑战;特别是一个 DNS 挑战:https://datatracker.ietf.org/doc/html/draft-ietf-acme-acme-01#section-7.5
这只需要 XMPP 服务器能够访问 DNS 注册商的 API 以允许它临时设置 TXT 记录。
关于ssl - LetsEncrypt 挑战和 SRV 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268741/