首页 > 解决方案 > 无法连接到自托管 gRPC Windows 服务

问题描述

我在测试服务器上发布了我的第一个 gRPC Windows 服务。 请原谅我的无知

长话短说:当我尝试使用客户端连接到它时,我收到以下错误:

由于目标机器主动拒绝,无法建立连接。SocketException: 由于目标机器主动拒绝,无法建立连接。

这是我在 Kestrel 上的 appettins.json:

"HttpsInlineCertStore": {
  "Url": "https://localhost:5001",
  "Certificate": {
    "Subject": "CN=<secret>",
    "Store": "My",
    "Location": "LocalMachine",
    "AllowInvalid": "true"
  }
}

在我的客户上,我有这个:

readonly static GrpcChannel channel =
  GrpcChannel.ForAddress("https://full server name and domain:5001");

问:我一直看到端口 5000 被打开,但没有 5001。为什么?

谢谢!

更新: 默认情况下 http 为 5000。这是MS 链接...搜索端点配置

标签: c#-3.0grpc

解决方案


确保设置了正确的环境名称 (aspnetcore_environment),以便加载特定 appsettings..json 中的 Kestrel 配置。

Andrew Luck 有一篇关于如何设置环境变量的文章。

此外,您还可以在此处找到可以为 Kestrel 设置的不同选项。搜索从配置中替换默认证书将引导您进入该部分。


推荐阅读