【问题标题】:how to get client IP address with node grpc如何使用节点 grpc 获取客户端 IP 地址
【发布时间】:2020-06-18 11:18:39
【问题描述】:

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

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();

【问题讨论】:

    标签: grpc-node


    【解决方案1】:

    您可以通过以下方式获取客户端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);
    }
    

    查看这些问题以获取更多信息:

    【讨论】:

      猜你喜欢
      • 2012-03-14
      • 2012-02-16
      • 2019-01-16
      • 2010-12-11
      • 2016-01-12
      • 2021-07-05
      • 2017-12-20
      • 2019-01-14
      • 2015-12-20
      相关资源
      最近更新 更多