12.2.5.8. 登録したWebサーバにクライアントIPアドレスを通知する

動作確認バージョン:Netscaler VPX Version11.0 Build67.12 Standard Edition
ロードバランサーには、登録したWebサーバにクライアントのIPアドレスを通知するためにX-Forwarded-For機能があります。
ここでは、X-Forward-For機能について紹介します。

X-Forwarded-For機能とは

X-Forwarded-Forは、HTTPヘッダの中のフィールドにクライアントのIPアドレスを挿入することが可能な機能です。
これにより、ロードバランサーなどが中間に入ってWebサーバに対するアクセスで送信元IPが変換されてしまっても、実際のクライアントIPアドレスを知ることが可能になります。

X-Forwarded-For機能の有効化

サンプル設定のシナリオ

  • Virtual Serverにアクセスするクライアントの実IPアドレスをサーバで確認できるようにしたい
構成図
Fig6501
以下の登録・設定状況で確認を実施します。
設定項目 設定値
仮想PC 192.168.1.103
ロードバランサー 192.168.2.11
Virtual Server IP Address:192.168.1.200
振り分け先webサーバ IP Address:192.168.2.12
追加設定 X-Forwarded-For有効

注釈

こちらの機能を確認する際には、すでにロードバランサーを通してWebサーバにアクセスできる環境が必要です。

Configurationメニューから 「Traffic Management」→「Services」から、設定済みであるサービス(www1)を選択し[Edit]をクリックします。
Fig15106
「Insert Client IP Address」設定が NO に設定されていますので、「Settings」の項目の右のボタンをクリックして設定内容の編集画面を開きます。
Fig15107
Settingsの設定にて、「Insert Client IP Address」にチェックを入れるとロードバランサーでクライアントのIPアドレスをHTTPヘッダに書き込んでサーバへアクセスします。
X-Forwarded-Forの設定は以上になります。
Fig6506

動作確認結果

クライアントPCのブラウザより、Virtual ServerのIP Address(192.168.1.200)にアクセスをします。
ロードバランサーが適切にサーバに振り分けを実行し
クライアントPCのブラウザにwebページが表示されることが確認できます。
Fig6502
上記クライアントからのHTTPアクセスについて、パケットキャプチャを実行しました。
このとき、仮想webサーバへのヘッダ情報を確認すると、X-Forwarded-For機能により
クライアントのIPアドレスが格納されていることが確認できました。
Fig6503