diff --git a/embed/etcd.go b/embed/etcd.go index 9c9ef7383..a034e04cc 100644 --- a/embed/etcd.go +++ b/embed/etcd.go @@ -176,7 +176,9 @@ func StartEtcd(inCfg *Config) (e *Etcd, err error) { srvcfg.HostWhitelist = make(map[string]struct{}, len(cfg.HostWhitelist)) for _, h := range cfg.HostWhitelist { - srvcfg.HostWhitelist[h] = struct{}{} + if h != "" { + srvcfg.HostWhitelist[h] = struct{}{} + } } if e.Server, err = etcdserver.NewServer(srvcfg); err != nil { diff --git a/etcdmain/config.go b/etcdmain/config.go index 80ca6cb61..a78338b63 100644 --- a/etcdmain/config.go +++ b/etcdmain/config.go @@ -277,9 +277,12 @@ func (cfg *config) configFromCmdLine() error { cfg.ec.ListenMetricsUrls = []url.URL(u) } - hosts := strings.Split(cfg.cf.hostWhitelist, ",") - for i := range hosts { - hosts[i] = strings.TrimSpace(hosts[i]) + hosts := []string{} + for _, h := range strings.Split(cfg.cf.hostWhitelist, ",") { + h = strings.TrimSpace(h) + if h != "" { + hosts = append(hosts, h) + } } cfg.ec.HostWhitelist = hosts