node.js + socket.io では、次のコードを使用してユーザーの IP アドレスを取得します。
var clientIP = socket.handshake.headers['x-forwarded-for'] || socket.handshake.address.address;
しかし、結果は間違っています。console.log
これらの値を実行したところ、次の結果が得られました。
socket.handshake.address.address
明らかに内部 IP (127.xxx) です
x-forwarded-for
cloud9 のプロキシ (107.23.232.64、54.236.78.114、107.23.123.140) の 1 つです。
どうやら二重プロキシが使用されており、プロキシ層の 1 つが'x-forwarded-for'
ヘッダーを提供していませんね。cloud9 でユーザーの実際の IP を取得することは絶対に不可能ですか? 私のプロジェクトには不可欠です。