stingrayロードバランサーの背後で複数のノードインスタンスを実行しています。node.jsアプリケーションはExpress.jsを実行します。アクセスreq.connection.remoteAddress
すると、stingrayアプライアンスのIPが返されます。
クライアントIPを転送する方法を知っている人はいますか?
ありがとうございました!
stingrayロードバランサーの背後で複数のノードインスタンスを実行しています。node.jsアプリケーションはExpress.jsを実行します。アクセスreq.connection.remoteAddress
すると、stingrayアプライアンスのIPが返されます。
クライアントIPを転送する方法を知っている人はいますか?
ありがとうございました!
この情報が古くない場合、X-Cluster-Client-Ipヘッダーには元のIPが含まれている必要があります。
var remoteAddress = req.header('X-Cluster-Client-Ip');
他のオプションはここで参照されます:
承認された回答のリンクは機能しなくなったため、Stingrayレベルで透明性オプションを有効にすると、リクエストはロードバランサーではなく元のIPからのものであるかのようにバックエンドに表示されます。そうすれば、他の環境変数からプルすることを回避でき、変数内の複数の「元の」IPを処理する必要がなくなる可能性があります。
'transparent'オプションは、プールの接続管理プロパティにあります。