私のsocket.ioコードでは、
socket.sockets.on('connection', function(client){
var ip = client.handshake.address.address;
..
}
ip は常に 127.0.0.1 を返します。これは、サーバーがプロキシの背後にあるためです。リモートアドレスを正しく取得するにはどうすればよいですか?
編集:http-proxyを使用しています
はい、これは私のために働いています。
client.handshake.headers['x-forwarded-for'] || client.handshake.address.address;
127.0.0.1 ではなく、リモート IP アドレスを正しく取得しています
バージョン > 1.0 では、構文は似ています。
socket.handshake.headers['x-forwarded-for'] || socket.request.connection.remoteAddress;