diff --git a/broker.go b/broker.go index e8bb2ed10..232559aea 100644 --- a/broker.go +++ b/broker.go @@ -1427,14 +1427,15 @@ func validServerNameTLS(addr string, cfg *tls.Config) *tls.Config { if cfg == nil { cfg = &tls.Config{} } - if cfg.ServerName == "" { - c := cfg.Clone() - sn, _, err := net.SplitHostPort(addr) - if err != nil { - Logger.Println(fmt.Errorf("failed to get ServerName from addr %w", err)) - } - c.ServerName = sn - cfg = c + if cfg.ServerName != "" { + return cfg + } + + c := cfg.Clone() + sn, _, err := net.SplitHostPort(addr) + if err != nil { + Logger.Println(fmt.Errorf("failed to get ServerName from addr %w", err)) } - return cfg + c.ServerName = sn + return c }