node.js - nodejs http2 请求 - 在哪里可以找到客户端 IP 地址

标签 node.js http2

我正在使用 Polymer 构建一个复杂的 SPA 来复制 Access 应用程序。我想使用 http2 来避免合并源文件以获得适当性能的维护噩梦。

我自己构建了应用程序的启动,通过 sql server 数据库登录。现在开始调试。

我正在尝试使用我在此处找到的答案来检索 clientip 地址

var ip = req.headers['x-forwarded-for'] ||
   req.connection.remoteAddress ||
   req.socket.remoteAddress ||
   req.connection.socket.remoteAddress;

但不幸的是此时服务器崩溃了。使用调试器进行挖掘(给定 req 是请求对象),没有“x-forwarded-for” header ,没有连接对象(套接字内部除外),这就是杀死此语句的原因,因为无法访问未定义的 RemoteAddress。但我在从 req 派生的任何对象中找不到 Remoteaddress 字段。

我正在使用https://github.com/molnarg/node-http2这似乎是唯一的实现。文档中提到了一些端点.js 库,但链接已损坏,因此我不知道如何访问端点对象。

为了获得正确的证书,我使用了来自patrial.hartley-consultants.com的证书,并更改了我的内部dns服务器以将我的开发机器作为其IP地址。我通过同一台计算机上的浏览器访问它。因此,客户端和服务器计算机都应该具有 192.168.0.xx IP 地址,而且恰好是相同的。

所以问题是 - 暴露给服务器的客户端 IP 地址在哪里(或者确实是在 http2 中)

最佳答案

简单的答案是它在 req.remoteAddress

关于node.js - nodejs http2 请求 - 在哪里可以找到客户端 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516191/

相关文章:

node.js - ExpressJS使用中间件授权用户?

ios - APNS - 是否可以通过基于 HTTP/2 的 API 推送 MDM 配置设备?

c++ - 使用 Berkeley 套接字进行多路复用

java - 我们可以使用 Apache 为 Java 应用程序服务器提供 HTTP/2 连接吗?

javascript - 当 promise 得到解决时,异步函数不会返回

javascript - 如何在 JavaScript 中发现一些数学错误

sql - 约束自引用外键以限制嵌套(SQL、Sequelize)

javascript - 转换 Node 中的非统一时间戳?

http - 带有 HTTP/2 的 REST API

Tomcat 9 HTTP/2 图像 "randomly"已损坏