error = x509的含义是什么:certificate对用户A有效,而不是Docker中的localhost?

时间:2016-12-20 08:25:24

标签: ssl docker docker-compose

我正在使用Docker容器来运行一堆服务,所有这些服务都使用证书来相互通信。

当启动这些服务时,有一个具体的抱怨出现以下错误

> discovery_1 | INFO ttn: Got public keys for token validation
> discovery_1 | DEBUG Connected to gRPC server Address=localhost:1900
> discovery_1 | FATAL Could not start client for gRPC proxy error=x509: certificate is valid for discovery, not localhost
> ttnbackbone_discovery_1 exited with code 1

我已经为“发现”用户创建了证书但是Docker仍然以某种方式为localhost运行它,我不明白......我也跟着来自Docker的this tutorial of certificates usage但是我还有同样的错误。

我还能做些什么?

提前谢谢,

问候!

1 个答案:

答案 0 :(得分:0)

我今天遇到了这个。 x509证书具有Common Name属性,某些软件使用该属性来匹配服务器的DNS主机名。我的错误是CN为localhost且DNS主机名为docker1-staging的证书:

error during connect: Get https://docker1-staging:2376/v1.26/containers/json: x509: certificate is valid for localhost, not docker1-staging

我必须重新生成Docker服务器使用的证书,并确保其CN值为docker1-staging。您必须使用CN值localhost执行相同操作。