首页 > 解决方案 > express req.connection.remoteAddress 有时未定义

问题描述

我正在使用 express 在我的应用程序中接收和处理各种 HTTP 请求。我需要有客户端的远程 IP 地址,我通过以下方式获取它:

function onPostRequest(req, res) {
    var reqDate = new Date().getTime();
    let srcIP = req.connection.remoteAddress;
    debug.log(4, 'arif', 'Request POST URL: ' + req.originalUrl + ' from: ' + srcIP + ', connection destroyed: ' + req.connection.destroyed);
    [ . . . ]
}

req.connection.remoteAddress有时值是undefined。我有一个客户端(在 Arduino 上运行)连续发送大约 30 个这些 POST 请求,并且只有其中一些有这个问题。更重要的是,它始终是连接的不同子集。我查看了流量的 tcpdump,发现当问题发生时,快递会在请求的最后一个字节之后立即发送 RST 段。req.connection.destroyed总是false。_

这里可能是什么问题?

标签: javascriptnode.jsexpress

解决方案


推荐阅读