首页/网络/协议速查/SVCB 记录(通用服务绑定)
DNS 与域名解析60 条

SVCB 记录(通用服务绑定)

HTTPS 的通用版本:为任意服务名(非 HTTP)声明端点与参数,支持别名模式与参数优先级(SvcParam)。

协议速查网络更新于 2026-10-13

SVCB 是什么

SVCB(TYPE 64)是通用服务绑定记录:为某个服务名声明端点与参数(如端口、alpn),并支持别名模式把服务指向另一套端点(RFC 9460)。它是 HTTPS 记录(TYPE 65)的通用版本——HTTPS 只服务于 HTTP 系列协议,SVCB 可以服务于任意协议。

基本信息

类型SVCB(TYPE 64)
格式优先级(SvcPriority)、目标名与参数
规范RFC 9460
别名模式优先级为 0 时表示按目标名的记录继续解析
常见参数alpn、port、ipv4hint、ipv6hint、ech
与 HTTPS 记录关系参数语义与优先级规则完全共享

典型使用场景

  • 自定义协议的服务发现(非 HTTP 场景)
  • 声明 DoT 或 DoH 端点(port、alpn 参数)
  • 与 HTTPS 记录对比学习:理解参数与优先级规则
  • 排障:确认客户端是否按 SVCB 走对了端口
  • 协议扩展验证:确认中间件是否透传 SVCB 记录
  • 端点迁移:通过别名模式把服务平滑指向新端点

记录示意

记录示意
# 声明一个 DoT 服务端点
dig +short _dns.example.com SVCB
# 1 dns.example.net. alpn="dot" port=853
# 优先级为 0 是别名模式,大于 0 是服务模式(数值越小越优先)

# 别名模式:把服务整体指向另一套端点
# _svc.example.com. 3600 IN SVCB 0 svc.example.net.

SVCB 与 HTTPS 记录

记录适用协议典型用途
HTTPS(TYPE 65)HTTP 与 HTTPS声明 HTTP/3 支持、端口迁移、ECH
SVCB(TYPE 64)任意服务名自定义协议端点、DoT 与 DoH
参数集合两者共用alpn、port、ipv4hint、ipv6hint、ech
优先级规则两者共用0 为别名,大于 0 时越小越优先
参数名与语义在两种记录间完全共享;理解 HTTPS 记录就等于理解 SVCB,只是服务名可以不是 HTTP。
别名模式下目标名上不能再出现其他 SVCB 或 HTTPS 参数,否则配置非法。
客户端不支持 SVCB 时会忽略该记录,服务必须仍能通过 A/AAAA 正常访问,因此它应被视为优化而不是唯一路径。
服务模式下存在多条记录时,按优先级数值从小到大挑选使用。
与 DANE 等证书相关机制组合使用时,要先确认客户端实现的支持度,不能只看 DNS 侧配置是否正确。

易错点

  • 把 SVCB 用在 HTTP 场景:应改用 HTTPS 记录,客户端工具与 CDN 的支持度更好
  • 别名模式的目标名又指向自身会造成解析循环
  • 客户端不支持 SVCB 时会忽略记录,若服务只能通过 SVCB 声明的端点访问,就会完全不可用
  • 端口与 alpn 参数和实际服务不一致,会让客户端连到错误端点
  • 参数拼写错误(例如把 port 写成 ports)属于无效参数,部分实现会直接忽略整条记录

数据来源与参考

  • RFC 9460 SVCB

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌