KNOWLEDGE ARTICLE

SRV 记录 是什么?

DNS 服务定位记录

声明特定服务使用的主机、端口、优先级和权重。

核心解释

SRV 记录让客户端在不知道具体服务器地址时发现服务,常见于即时通信、目录服务和部分企业协作系统。

SRV 如何让客户端发现服务入口

SRV 记录发布特定服务使用的目标主机与端口,查询名称通常由 _服务._传输协议.域名 组成。记录同时包含优先级和权重,让客户端无需预先写死服务器地址,也能找到即时通信、目录、语音或协作服务。

与 MX 专门服务电子邮件不同,SRV 是通用服务发现机制。目标主机还需要解析为 A 或 AAAA;客户端必须明确支持对应 SRV 约定,普通浏览器不会仅因存在任意 SRV 就改变网页端口。

优先级、权重与端口如何共同调度

  • 客户端先选择最低优先级数值的一组记录,只有该组不可用时才尝试更高数值,逻辑类似主备层级。
  • 同一优先级内按权重进行概率选择,可把更多请求引导到容量较大的节点;权重不是绝对请求数量保证。
  • 端口字段允许服务使用非默认端口,目标为点可以明确表示该服务在此域不可用。
  • TTL 控制服务发现缓存,节点下线时还需考虑已有缓存与客户端是否真正执行健康重试。
SRV 记录先按较小优先级选择节点组再按同组权重分配请求
SRV 优先级与权重调度台先按优先级选择层级,再按权重分配同层节点,并保留端口

企业服务迁移时的常见问题

Microsoft 相关服务、SIP、XMPP、Kerberos 和 LDAP 等生态可能依赖不同 SRV 名称。迁移供应商时需要逐项核对服务、协议、目标、端口与证书,不能只看主域网页是否正常。

常见故障包括目标主机没有地址、端口被防火墙拦截、优先级设置反向、权重全部为零却期待固定分流,以及客户端根本不支持该 SRV 约定。DNS 返回正确只是服务可用性的第一步。

实际应用与信息解读

发现 SRV 可以确认域名发布了某种服务发现配置,并从标准名称推测服务类别。是否正在被用户使用、目标端口是否开放以及是否需要认证,仍需对应协议连接验证。

没有查询到某个 SRV 只说明该具体服务名称没有公开结果。由于 SRV 名称无法通用枚举,不能由少量常见查询推断域名完全未使用服务发现;未覆盖部分应保持未知。展示时还应保留优先级、权重、端口与目标,便于复核调度关系。

重点关注

SRV 暴露的是服务发现配置;是否真正开放、是否需要认证仍应通过对应协议验证。

常见问题

SRV 可以让网页自动使用其他端口吗?

普通 HTTP 浏览器通常不会查询任意 SRV 来决定网页端口。是否使用 SRV 取决于具体应用协议和客户端支持。

SRV 权重越大优先级越高吗?

优先级先看较小数值;只有同一优先级内,权重才用于概率分配。

为什么 SRV 正确但服务仍不可用?

目标地址、端口、防火墙、TLS、认证和应用本身都可能失败,需要继续验证实际协议连接。

权威资料