登録した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アドレスをサーバーで確認できるようにしたい
構成図
以下の登録・設定状況で確認を実施します。
設定項目 | 設定値 |
仮想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]をクリックします。
「Insert Client IP Address」設定が DISABLED に設定されていますので、「Service Settings」の項目の右のボタンをクリックして設定内容の編集画面を開きます。
注釈
Version12.0 Build53.13 Standard Editionでは、セクションのタイトルに「Settings」と表示されております。「Settings」の項目の右のボタンをクリックして設定内容の編集画面を開きます。
Settingsの設定にて、「Insert Client IP Address」にチェックを入れるとロードバランサーでクライアントのIPアドレスをHTTPヘッダに書き込んでサーバーへアクセスします。
X-Forwarded-Forの設定は以上になります。
動作確認結果
クライアントPCのブラウザより、Virtual ServerのIP Address(192.168.1.200)にアクセスをします。
ロードバランサーが適切にサーバーに振り分けを実行し
クライアントPCのブラウザにwebページが表示されることが確認できます。
上記クライアントからのHTTPアクセスについて、パケットキャプチャを実行しました。
このとき、仮想webサーバーへのヘッダ情報を確認すると、X-Forwarded-For機能により
クライアントのIPアドレスが格納されていることが確認できました。