我正在使用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但是我还有同样的错误。
我还能做些什么?
提前谢谢,
问候!
答案 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
执行相同操作。