我在端口 xxxxx 上运行一项服务。我想通过子域 (myspecialservice.mydomain.com) 访问该服务。我知道我需要创建一个 SRV 记录,其形式为 _Service._Proto.myspecialservice TTL Class SRV Priority Weight xxxxx Target。
我的问题是,我是否还需要为该子域添加 CNAME 或 A/AAAA 记录?或者 SRV 记录就足够了?
需要明确的是,我的问题与目标地址无关。
答案1
是的,您仍然需要 A 或 CBAME(或别名伪记录)。
典型的 IP 堆栈不会从 SRV 记录解析 IP 地址(就像在为邮件指定 SMTP 服务器时,尽管存在 MX 记录,但仍然需要 ab A 或 CNAME)
答案2
不清楚你指的是哪个子域名,所以让我们举一个例子,两个服务器提供了一个神秘的服务在 TCP 端口 12765 上使用相同的优先事项但重量有点不同。
_service._tcp.special.example.com. IN SRV 0 5 12765 provider1.example.com.
_service._tcp.special.example.com. IN SRV 0 7 12765 provider2.example.com.
这里:
你不需要
A
记录:_service._tcp.special.example.com.
_tcp.special.example.com.
special.example.com.
你需要
A
记录:provider1.example.com.
provider2.example.com.
(CNAME
为简单起见,请避免使用记录,除非您对 DNS 的工作原理有深入的了解。)