SRV 记录查询
查找特定服务的服务定位(SRV)记录
本页提供关于 SRV 记录查询的原创、经人工审校的内容,解释服务与协议命名、优先级与权重选择,以及 Microsoft Teams、XMPP 等常见 SRV 用途。
SRV (Service) records specify the location of services within a domain. They define the hostname, port number, priority, and weight for services, enabling automatic service discovery and load balancing.
SRV 记录的组成部分:
- 服务:服务名称(例如 _sip、_http、_xmpp)
- 协议:使用的协议(_tcp 或 _udp)
- 优先级:数值越小优先级越高
- 权重:相同优先级下的负载均衡权重
- 端口:服务运行的端口号
- 目标:提供服务的主机名
常见使用场景:
- VoIP 服务:SIP 服务器发现
- 即时通讯:XMPP 服务器位置
- 邮件服务:IMAP、POP3、SMTP 服务器发现
- 游戏服务器:Minecraft 服务器发现
- Web 服务:API 端点发现
SRV 记录格式:
基本 SRV 记录示例:
SIP 服务
SIP server on port 5060 with priority 10, weight 5
XMPP 服务
XMPP 服务器间通信,端口 5269
负载均衡服务
带备份的负载均衡 Web 服务器
优先级和权重指南:
- 优先级:使用 10、20、30... 表示不同的优先级
- 权重:权重越高流量越多(0 = 不进行负载均衡)
- 备份服务:使用更大的优先级数值
- 负载均衡:相同优先级,不同权重
服务无法被发现
客户端无法自动找到该服务
解决方案:确保 SRV 记录名称符合服务预期
端口号错误
SRV 记录指向错误的端口
解决方案:确认端口与实际服务配置一致
负载均衡问题
流量未按预期分配
Solution: Check priority and weight values, ensure targets are reachable
缺少完全限定域名
目标主机名不是完全限定域名
解决方案:目标主机名始终以点(.)结尾
客户端如何使用 SRV 记录?
客户端查询 SRV 记录以自动发现服务位置,然后连接到返回的主机名和端口。
优先级和权重有什么区别?
优先级决定顺序(数值越小优先级越高)。权重在同优先级服务器之间分配负载(权重越高流量越多)。
任何服务都可以使用 SRV 记录吗?
SRV records work for any service, but the client application must support SRV record lookup for automatic discovery.
SRV 目标需要 A 记录吗?
Yes, the target hostname in SRV records must have corresponding A or AAAA records for IP address resolution.
