我正在尝试使用 Express 从传入连接获取远程 IP 地址。已经尝试过网上找到的常见解决方案:
- req.headers['x-forwarded-for']/结果:始终未定义
- req.socket.remoteAddress/结果:始终获取网关 IP(IE:192.168.1.1)而不是外部地址。
有什么线索吗?
最佳答案
您是否通过在您自己的计算机上的虚拟机中运行应用程序来对此进行测试?如果是这样,您就得到了正确的答案。 X-Forwarded-For 是空的,因为没有代理,并且您会看到虚拟机用于路由出去的主机上的虚拟接口(interface)。这是请求来源的 IP。
关于node.js - 获取远程 IP 地址在 Node 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799346/