首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Node.js快车中获取ip地址?

问如何在Node.js快车中获取ip地址?
EN

Stack Overflow用户
提问于 2021-05-31 18:29:51
回答 4查看 3.9K关注 0票数 2

我使用这段代码获取Node.js中的ip地址:

代码语言:javascript
复制
const ip = await (req.headers['x-forwarded-for'] || '').split(',').pop().trim() || req.socket.remoteAddress;

对于我家里无线网络上的所有设备,当我使用手机上的数据访问我的网站时,我得到的ip地址是::ffff:127.0.0.1

我试图获取访问我的网站的每一个设备(电话,笔记本)的ip地址。但是所有的设备显示相同的ip地址。

如何在Node.js中获取每个设备的独立设备ip地址?

编辑:

我做了一些更新,不再使用get ::ffff:127.0.0.1。我现在得到了互联网连接的ip地址。所以如果我连接到wifi,我就会得到wifi调制解调器ip地址。如果我使用数据,我会得到数据连接ip地址。

,但我需要获取设备ip地址。我不想要连接ip地址。我要设备ip地址.

以下是我所做的改变:

我将“信任代理”设置为真:

代码语言:javascript
复制
app.set('trust proxy', true);

我更新了etc/nginx/sites available/mysite文件如下:

代码语言:javascript
复制
location / {
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://127.0.0.1:5050;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Host $host;
      proxy_cache_bypass $http_upgrade;
  }

我更新了etc/nginx/ to _params文件如下所示:

代码语言:javascript
复制
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;

我做错什么了?我该怎么解决这个问题?据我所读,听起来我应该能够使用req.Header‘x转发-for’获得正确的ip地址,但是req.Header‘x转发-for’返回与req.Header‘x-real’相同的东西,除非它位于数组中。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-06-09 10:36:00

我为我的用例找到了另一个解决方案。根据一些人的评论,似乎不可能找到连接到您的网站的设备的私有ip地址,只有公共ip地址。

@Cerceis os.networkInterfaces()答案可能有效。我做了一个快速的测试,但无法确定它是否有效。我没有时间对它进行更充分的测试。如果您希望找到答案,我将在Node.js中试用Node.js(),这可能会为您提供您正在寻找的ip地址。

票数 1
EN

Stack Overflow用户

发布于 2021-06-08 07:42:27

您可以寻找的是局域网Ip地址:

您可以使用Node.js os.networkInterfaces()的默认函数。

您可以在这里找到文档:

网络接口

您还可以查看这个线程:

在Node.js中获取本地IP地址

票数 2
EN

Stack Overflow用户

发布于 2021-06-09 01:33:35

查找IP地址是Node.js

查找IP地址的最简单方法之一是使用"ip“NPM模块。它是超级快速和容易(而且它曾经为我工作在过去)

代码语言:javascript
复制
const ip = require('ip')
console.log(ip.address())

了解更多信息,请访问:https://www.npmjs.com/package/ip

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67778717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档