我正在使用 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/