如何从控制器中确定给定请求的 IP 地址?例如(快递):
app.post('/get/ip/address', function (req, res) { // need access to IP address here })
在您的request对象中有一个名为 的属性socket,它是一个net.Socket对象。该net.Socket对象有一个属性remoteAddress,因此您应该能够通过此调用获取 IP:
request
socket
net.Socket
remoteAddress
request.socket.remoteAddress
(如果您的节点版本低于 13,请使用 deprecated now request.connection.remoteAddress)
request.connection.remoteAddress
编辑
正如@juand 在评论中指出的那样,如果服务器位于代理后面,则获取远程 IP 的正确方法是request.headers['x-forwarded-for']
request.headers['x-forwarded-for']