9

如何确保客户端 IP 地址由 ngrok 转发?

由于 ngrok,我的测试代码一直坚持认为所有请求都来自 127.0.0.1,但我想记录实际的客户端 IP。负载均衡器通常在 X-Forwarded-For 或 x-real-ip 中设置标头,但我不确定 ngrok 的过程是什么......

  console.log('req.headers[\'x-real-ip\']', req.headers['x-real-ip']);
  console.log('req.headers[\'X-Forwarded-For\']', req.headers['X-Forwarded-For']);
  console.log('req.ip', req.ip );
  console.log('req.connection.remoteAddress', req.connection.remoteAddress);
  console.log('req.connection.remoteAddress', req.connection.remoteAddress);
  console.log('req.socket.remoteAddress', (req.socket && req.socket.remoteAddress));
  console.log('req.socket.socket.remoteAddress', (req.socket.socket && req.socket.socket.remoteAddress));

一切要么打印undefined,要么127.0.0.1到目前为止。这意味着我需要以某种方式配置 ngrok,我想。

4

1 回答 1

4

不幸的是,Node.JS 中的所有标头名称都是小写的。利用

req.headers['x-forwarded-for']

代替

req.headers['X-Forwarded-For']
于 2018-07-20T10:47:44.800 回答