Express.js:如何获取远程客户端地址

node.js Node.js

西里乐

2020-03-23

我不完全了解如何获取远程用户IP地址。

假设我有一个简单的请求路由,例如:

app.get(/, function (req, res){
   var forwardedIpsStr = req.header('x-forwarded-for');
   var IP = '';

   if (forwardedIpsStr) {
      IP = forwardedIps = forwardedIpsStr.split(',')[0];  
   }
});

以上方法是正确的以获得真实用户IP地址还是有更好的方法?代理呢?

第2578篇《Express.js:如何获取远程客户端地址》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
Mandy猿 2020.03.23

我知道这个问题已经回答了,但是这就是我的工作方式。

let ip = req.connection.remoteAddress.split(`:`).pop();
神无 2020.03.23

根据Express在代理之后req.ip如果配置trust proxy正确则考虑了反向代理因此,它比req.connection.remoteAddress从网络层获得并且不了解代理更好

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android