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

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

X-Forwarded-For機能とは

X-Forwarded-Forは、HTTPヘッダの中のフィールドにクライアントのIPアドレスを挿入することが可能な機能です。
これにより、ロードバランサーで送信元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」→「Load Balancing」 →「Services」から、設定済みであるサービス(www1)を選択し[Edit]をクリックします。
Fig15106
「Insert Client IP Address」設定が DISABLED に設定されていますので、「Service Settings」の項目の右のボタンをクリックして設定内容の編集画面を開きます。

注釈

Version12.0 Build53.13 Standard Editionでは、セクションのタイトルに「Settings」と表示されております。「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