在 DNS 中SRV 记录确实是一种非常通用的形式,用于告诉远程客户端特定服务的托管位置。目前,我使用它来允许人们通过互联网使用 SIP 客户端给我打电话(效果很好)。
SRV 记录的优点之一是,您可以为服务指定不同的端口,并且可以为同一个服务设置多个系统(或同一个系统和不同端口上的多个实例)。因此敌我识别区它的工作原理是,您可以在单个系统上拥有多个 Web 服务器而不会受到任何干扰。
因此你可以在 DNS 中看到以下内容:
_http._tcp SRV 10 50 8080 myserver.basjes.nl
_http._tcp SRV 10 50 8081 myserver.basjes.nl
然而,所有这些优点都有一个小缺陷......我无法找到任何支持它的 HTTP、FTP、SMTP 等客户端。
因此,除了 SIP 和在维基百科页面:SRV 记录真的有用吗?
或者我遗漏了什么?
有没有更好的、能起到作用的东西?
答案1
我认为你只会看到它用于新的协议。
SMTP 使用的 MX 记录相当于固定端口、无权重的 SRV 记录,也就是说,它们已经充分解决了同样的问题。
例如,由于 HTTP 必须保持与当前机制的向后兼容性,因此任何开始使用 SRV for HTTP 的人仍然必须提供替代机制,并且没有人愿意维护两种做同一件事的方式。(比如,一些负载平衡器和一些 DNS SRV 记录...)并且如果网站不发布 SRV 记录(因为它只会产生不必要的工作),那么客户端就没有动力去支持没有人发布的 SRV 记录。
答案2
答案3
许多启用 Kerberos 的服务和客户端也在使用 SRV 记录。在 /etc/krb5.conf(或等效文件)不可读或丢失的特定机器上尤其如此;将执行 SRV 记录查找以查找 KDC。
答案4
事实上,大多数应用程序尚不支持它。
那些确实存在这种情况的情况是,目标用户身份中的域通常与主机名客户端软件必须连接到该协议。因此它可用于 SIP 以及 Jabber (XMPP)。
SMTP 不需要它,因为它从一开始就始终有 MX 记录。
能够使用不同端口的好处相对较小,因此其他协议还没有开始大量使用它。
有一个互联网草案提出了一种http+srv:
URI 方案,但请注意,当前没有提案将 SRV 查找添加到标准http:
URI 请求中。