【发布时间】:2019-08-11 16:26:18
【问题描述】:
所以我目前正在尝试设置启用 ssl 的 grpc 服务器,但我总是收到异常“无法绑定端口“0.0.0.0:8888”
该端口绝对未使用。
如果它在 server.crt 中很重要,则 CN 是 localhost。
它也可以与ServerCredentials.Insecure 完美配合
更新:
我让服务器正常工作,我的证书有问题,但是现在客户端无法连接,我得到一个带有 StatusCode=Unavailable, Detail="Empty update" 的 RpcException
var cacert = File.ReadAllText($"{path}/ca.crt");
var servercert = File.ReadAllText($"{path}/server.crt");
var serverkey = File.ReadAllText($"{path}/server.key");
var keypair = new KeyCertificatePair(servercert, serverkey);
var sslCredentials = new SslServerCredentials(new List<KeyCertificatePair> { keypair }, cacert, true);
var server = new Server
{
Services = { Comm.BindService(new Communicator()) },
Ports = { new ServerPort("0.0.0.0", 8888, sslCredentials) }
};
server.Start();
Console.WriteLine("Server started");
Console.ReadKey();
server.ShutdownAsync().Wait();
【问题讨论】: