Переглянути джерело

Merge pull request #13779 from estesp/tls-confusing-error

Add better client-side error for failed certificate verification
Antonio Murdaca 10 роки тому
батько
коміт
7571e6d900
1 змінених файлів з 4 додано та 0 видалено
  1. 4 0
      api/client/utils.go

+ 4 - 0
api/client/utils.go

@@ -102,6 +102,10 @@ func (cli *DockerCli) clientRequest(method, path string, in io.Reader, headers m
 		if cli.tlsConfig == nil {
 		if cli.tlsConfig == nil {
 			return serverResp, fmt.Errorf("%v.\n* Are you trying to connect to a TLS-enabled daemon without TLS?\n* Is your docker daemon up and running?", err)
 			return serverResp, fmt.Errorf("%v.\n* Are you trying to connect to a TLS-enabled daemon without TLS?\n* Is your docker daemon up and running?", err)
 		}
 		}
+		if cli.tlsConfig != nil && strings.Contains(err.Error(), "remote error: bad certificate") {
+			return serverResp, fmt.Errorf("The server probably has client authentication (--tlsverify) enabled. Please check your TLS client certification settings: %v", err)
+		}
+
 		return serverResp, fmt.Errorf("An error occurred trying to connect: %v", err)
 		return serverResp, fmt.Errorf("An error occurred trying to connect: %v", err)
 	}
 	}