ssl - LetsEncrypt 挑战和 SRV 记录

标签 ssl dns xmpp srv

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/

相关文章:

nginx - 子域是通过域名注册商还是网络服务器创建的?

python - pythonanywhere 下的自定义域不起作用

ios - 如何使用 xmpp 在 swift 中按日期对聊天消息进行分组?

ios - ios通过xmppframework传输文件

c# - SMTP 服务器需要安全连接或客户端未通过身份验证 - 仍无法正常工作

email - Zend Framework 2 邮件 SmtpOptions SSL

Python 2.7.13 不遵守 NO_PROXY 并使 urllib2.urlopen() 错误为 "Tunnel connection failed: 403 Forbidden"

Java 7 异步 SecureSocket?

linux - 直通代理到不同的 IP 地址

xmpp - 一次获取多个 JID 的存在 XMPP