5

如何从 http req 对象中获取客户端 IP 地址?

IE:

   var util = require('util'),
    colors = require('colors'),
    http = require('http'),
    httpProxy = require('../../lib/node-http-proxy');

//
// Http Server with proxyRequest Handler and Latency
//
var proxy = new httpProxy.RoutingProxy();
http.createServer(function (req, res) {
  // GET IP address here
  // var ip = ??
  var buffer = httpProxy.buffer(req);
  setTimeout(function () {
    proxy.proxyRequest(req, res, {
      port: 9000,
      host: 'localhost',
      buffer: buffer
    });
  }, 200);
}).listen(8004);
4

3 回答 3

9

它应该只是req.connection.remoteAddress

于 2013-06-25T22:06:46.667 回答
5

这通常是获取客户端 IP 地址的正确位置,但并非总是如此。如果您在 node.js 前面使用 Nginx、Apache 或其他反向代理,您可能必须从 req.headers 获取 IP 地址。具有远程 IP 地址的标头的常用名称包括“X-Remote-IP”或“X-Originating-IP”,但不同的服务器使用不同的标头名称。

于 2013-06-26T05:01:45.183 回答
0

它应该只是 req.connection.remoteAddress 或 req.ip

于 2019-04-09T11:00:54.977 回答