diff --git a/resolver/upstream_resolver.go b/resolver/upstream_resolver.go index 19d5a0c2..355c2405 100644 --- a/resolver/upstream_resolver.go +++ b/resolver/upstream_resolver.go @@ -126,7 +126,7 @@ func (r *dnsUpstreamClient) callExternal(msg *dns.Msg, // try UDP as fallback var opErr *net.OpError if errors.As(err, &opErr) { - if opErr.Op == "dial" { + if opErr.Op == "dial" && r.udpClient != nil { return r.udpClient.Exchange(msg, upstreamURL) } }