KNOWLEDGE ARTICLE
SRV 记录 是什么?
DNS 服务定位记录
声明特定服务使用的主机、端口、优先级和权重。
核心解释
SRV 记录让客户端在不知道具体服务器地址时发现服务,常见于即时通信、目录服务和部分企业协作系统。
SRV 如何让客户端发现服务入口
SRV 记录发布特定服务使用的目标主机与端口,查询名称通常由 _服务._传输协议.域名 组成。记录同时包含优先级和权重,让客户端无需预先写死服务器地址,也能找到即时通信、目录、语音或协作服务。
与 MX 专门服务电子邮件不同,SRV 是通用服务发现机制。目标主机还需要解析为 A 或 AAAA;客户端必须明确支持对应 SRV 约定,普通浏览器不会仅因存在任意 SRV 就改变网页端口。
优先级、权重与端口如何共同调度
- 客户端先选择最低优先级数值的一组记录,只有该组不可用时才尝试更高数值,逻辑类似主备层级。
- 同一优先级内按权重进行概率选择,可把更多请求引导到容量较大的节点;权重不是绝对请求数量保证。
- 端口字段允许服务使用非默认端口,目标为点可以明确表示该服务在此域不可用。
- TTL 控制服务发现缓存,节点下线时还需考虑已有缓存与客户端是否真正执行健康重试。
企业服务迁移时的常见问题
Microsoft 相关服务、SIP、XMPP、Kerberos 和 LDAP 等生态可能依赖不同 SRV 名称。迁移供应商时需要逐项核对服务、协议、目标、端口与证书,不能只看主域网页是否正常。
常见故障包括目标主机没有地址、端口被防火墙拦截、优先级设置反向、权重全部为零却期待固定分流,以及客户端根本不支持该 SRV 约定。DNS 返回正确只是服务可用性的第一步。
实际应用与信息解读
发现 SRV 可以确认域名发布了某种服务发现配置,并从标准名称推测服务类别。是否正在被用户使用、目标端口是否开放以及是否需要认证,仍需对应协议连接验证。
没有查询到某个 SRV 只说明该具体服务名称没有公开结果。由于 SRV 名称无法通用枚举,不能由少量常见查询推断域名完全未使用服务发现;未覆盖部分应保持未知。展示时还应保留优先级、权重、端口与目标,便于复核调度关系。
重点关注
SRV 暴露的是服务发现配置;是否真正开放、是否需要认证仍应通过对应协议验证。
常见问题
SRV 可以让网页自动使用其他端口吗?
普通 HTTP 浏览器通常不会查询任意 SRV 来决定网页端口。是否使用 SRV 取决于具体应用协议和客户端支持。
SRV 权重越大优先级越高吗?
优先级先看较小数值;只有同一优先级内,权重才用于概率分配。
为什么 SRV 正确但服务仍不可用?
目标地址、端口、防火墙、TLS、认证和应用本身都可能失败,需要继续验证实际协议连接。