我正在尝试从客户端向我的服务发出请求,并且我正在使用TLS证书。
在我的客户端中,我以这种方式创建gRPC客户端:
KeyCertificatePair keypair = new KeyCertificatePair(_clientCertificate, _clientPrivateKey);
SslCredentials sslCreds = new SslCredentials(_caCertificate, keypair);
Channel channel = new Channel(_serviceAddress, sslCreds);
var client = new Gestor.GestorClient(channel);
但是,如果我向服务提出请求,则会收到错误DNS解析失败的错误。在这种情况下,我还尝试在服务未运行时发出请求,并且错误相同,因此我确定问题出在客户端。
但是,如果我使用这种方式创建客户端:
var channel = GrpcChannel.ForAddress(_serviceAddress);
Gestor.GestorClient client = new Gestor.GestorClient(channel);
我收到错误的消息,该服务不允许连接。在这种情况下,客户端无法请求服务,但这是不允许的,因为它已配置为使用证书,并且客户端不使用它。
所以我想知道如何使用证书创建客户端并解决DNS问题。
谢谢。