1

之前我使用下面的代码来获取客户端 IPexpress.js

req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress

想知道使用grpc节点应用程序获取客户端IP的方法是什么。我尝试了 getPeer() ,即使 API 调用来自外部,它也始终提供 ipv4:127.0.0.1:33944 。

类似于下面的代码是否有效?

call.getAttributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR).toString();
4

1 回答 1

0

您可以通过以下方式获取客户端 IP 和端口:

const SayHello = async function (call, callback) {
  const IPandPort = call.getPeer(); // like 127.0.0.1:8080 or just get 127.0.0.1
  console.log(IPandPort);
}

请参阅这些问题以获取更多信息:

于 2022-02-18T08:22:48.693 回答