grpc 使用了错误的 ip 地址

grpc uses wrong ip address

启动我的 grpc 服务器时,我收到一条错误消息,提示 'No address added out of total 1 resolved' 和 'server must be bound in order to start'。将其与工作服务器进行比较后,我意识到,虽然工作服务使用 127.0.0.1 和配置的端口作为 ip 地址,但损坏的服务尝试使用 0.0.31.170 端口 443。这个不正确的地址是从第 156 行传递的解析器-dns.js 文件(从 运行 npm install @grpc/grpc-js 获得)。有谁知道为什么会发生这种情况?简而言之,我的服务器是这样创建的:

server.bindAsync(process.env.GRPC_PORT, credentials, () => {
  server.start();
  console.log("gRPC server started at " + process.env.GRPC_PORT);
});

我没有完全理解你的问题。

参见:https://grpc.io/docs/languages/node/basics/#starting-the-server

您需要:

  • 包括某种形式的主机名|IP bindAsync
  • 中的端口 (host:port)
  • 如果您不使用 TLS,您也需要 createInsecure

即:

server.bindAsync(
  `${process.env.GRPC_HOST}:${process.env.GRPC_PORT}`,
  grpc.ServerCredentials.createInsecure(), () => {
    server.start();
    ...
});