web-dev-qa-db-ja.com

ロードバランサーの背後でSSLを使用し、それでもクライアントIPを取得するにはどうすればよいですか?

ネットワークセキュリティ関連の問題のため、ロードバランサーでSSLターミネーションを使用できないことに注意してください。

私が取得するクライアントIPは、もちろんロードバランサーのIPです。ロードバランサーはキーがないとHTTPSメッセージを変更できないことは知っていますが、SSLを使用したロードバランシング時にクライアントのIPアドレスを取得する別の方法があります。たとえば、TCPレベル、または何か?

5
orokusaki

簡単に言うと、X-Forwarded-Forを機能させるには、ロードバランサーでSSLを終了する必要があります。

それ以外の場合、「ダム」ロードバランサーを使用する一般的な構成では、ロードバランサーはVIPと実際のIPの間の仲介役としてのみ機能し、ロードバランサーのIPがログに表示されます。ロードバランサーは、トラフィックを復号化できない場合、ヘッダーを挿入できません。

TCP接続のバランスについては、ロードバランサーでSSLを終了していない場合は、基本的にそれを行っています。

NetScalerまたは何らかのプロキシデバイスをIPで要求をログに記録するように構成できる可能性がありますが、秘密鍵がないと、URIや要求方法などの要求の詳細を判別できません。

5
Taigitsune