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

在我的socket.io代码中,

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

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

编辑:我正在使用http代理

是的,这是为我工作。

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

我正确得到远程IP地址,而不是127.0.0.1

在版本> 1.0中,语法类似:

 socket.handshake.headers['x-forwarded-for'] || socket.request.connection.remoteAddress;