一尘不染

在socket.io中使用代理时未获取远程地址

node.js

在我的socket.io代码中,

socket.sockets.on('connection', function(client){ 
    var ip = client.handshake.address.address;
    ..
}

ip始终返回127.0.0.1,这是因为服务器位于代理后面。如何正确获取远程地址?

编辑:我正在使用http代理


阅读 482

收藏
2020-07-07

共1个答案

一尘不染

是的,这对我有用。

client.handshake.headers['x-forwarded-for'] || client.handshake.address.address;

我正确获取了远程IP地址而不是127.0.0.1

2020-07-07