Ver Fonte

etcdmain: warn when listening on HTTP if TLS is set

If the user sets TLS info, this implies that he wants to listen on TLS.
If etcd finds that urls to listen is still HTTP schema, it prints out
warning to notify user about possible wrong setting.
Yicheng Qin há 11 anos atrás
pai
commit
24db661401
1 ficheiros alterados com 6 adições e 0 exclusões
  1. 6 0
      etcdmain/etcd.go

+ 6 - 0
etcdmain/etcd.go

@@ -146,6 +146,9 @@ func startEtcd(cfg *config) (<-chan struct{}, error) {
 	}
 	}
 	plns := make([]net.Listener, 0)
 	plns := make([]net.Listener, 0)
 	for _, u := range cfg.lpurls {
 	for _, u := range cfg.lpurls {
+		if u.Scheme == "http" && !cfg.peerTLSInfo.Empty() {
+			plog.Warningf("The scheme of peer url %s is http while peer key/cert files are presented. Ignored peer key/cert files.", u.String())
+		}
 		var l net.Listener
 		var l net.Listener
 		l, err = transport.NewTimeoutListener(u.Host, u.Scheme, cfg.peerTLSInfo, rafthttp.ConnReadTimeout, rafthttp.ConnWriteTimeout)
 		l, err = transport.NewTimeoutListener(u.Host, u.Scheme, cfg.peerTLSInfo, rafthttp.ConnReadTimeout, rafthttp.ConnWriteTimeout)
 		if err != nil {
 		if err != nil {
@@ -168,6 +171,9 @@ func startEtcd(cfg *config) (<-chan struct{}, error) {
 	}
 	}
 	clns := make([]net.Listener, 0)
 	clns := make([]net.Listener, 0)
 	for _, u := range cfg.lcurls {
 	for _, u := range cfg.lcurls {
+		if u.Scheme == "http" && !cfg.clientTLSInfo.Empty() {
+			plog.Warningf("The scheme of client url %s is http while client key/cert files are presented. Ignored client key/cert files.", u.String())
+		}
 		var l net.Listener
 		var l net.Listener
 		l, err = transport.NewKeepAliveListener(u.Host, u.Scheme, cfg.clientTLSInfo)
 		l, err = transport.NewKeepAliveListener(u.Host, u.Scheme, cfg.clientTLSInfo)
 		if err != nil {
 		if err != nil {