diff --git a/embed/config.go b/embed/config.go index 2fb2a3280e75..502edb6867d7 100644 --- a/embed/config.go +++ b/embed/config.go @@ -299,6 +299,12 @@ func (cfg *Config) Validate() error { if err := checkBindURLs(cfg.ListenMetricsUrls); err != nil { return err } + if err := checkHostURLs(cfg.APUrls); err != nil { + return err + } + if err := checkHostURLs(cfg.ACUrls); err != nil { + return err + } // Check if conflicting flags are passed. nSet := 0 @@ -484,3 +490,16 @@ func checkBindURLs(urls []url.URL) error { } return nil } + +func checkHostURLs(urls []url.URL) error { + for _, url := range urls { + host, _, err := net.SplitHostPort(url.Host) + if err != nil { + return err + } + if host == "" { + return fmt.Errorf("unexpected empty host (%s)", url.String()) + } + } + return nil +}