2012-06-25 23 views
9

proxy kullanırken, uzaktan adres almakBenim socket.io kodunda socket.io

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

ip hep 127.0.0.1 döner ve sunucusu proxy arkasında oturur çünkü bu değil. Uzak adresi nasıl düzgün şekilde alabilirim?

Düzenleme: http-Proxy kullanıyorum

+0

Denetleme eğer client.handshake.headers [x -için verilen '] || client.handshake.address.address; çalışacak. – user644745

cevap

22

evet, bu benim için çalışıyor. Ben düzgün uzak IP adresi ve sürümü> 1.0 olarak değil 127.0.0.1

+3

Onaylandı: Bu, google tarafından bulduğum son 10 cevaptan bu yana ilk çalışan çözüm. – DanFromGermany

+0

bu benim için çalışmadı. Ağa bağlı bir sunucuda/proxy arkasındayım, 1.3.2 – Rachael

+0

kullanarak bu sadece soket 0.9 için çalışır. sürüm> 1.0 hakkında nasıl? –

4

alıyorum

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

, sözdizimi benzer:

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