登録したWebサーバーにクライアントIPアドレスを通知する¶
動作確認バージョン: | NetScaler VPX Version13.1 Standard Edition |
---|
ロードバランサーには、登録したサーバーにクライアントのIPアドレスを通知するためにX-Forwarded-For機能があります。
ここでは、X-Forwarded-For機能について紹介します。
X-Forwarded-For機能とは
X-Forwarded-Forは、HTTPヘッダの中のフィールドにクライアントのIPアドレスを挿入することが可能な機能です。
これにより、ロードバランサーで送信元IPが変換されても、実際のクライアントIPアドレスを知ることが可能になります。
X-Forwarded-For機能の有効化¶
サンプル設定のシナリオ
- ロードバランサー経由でサーバーにアクセスするクライアントの送信元IPアドレスをサーバーで確認できるようにしたい
構成図
以下の登録・設定状況で確認を実施します。
設定項目 | 設定値 |
クライアント | 192.168.10.1 |
ロードバランサー | 192.168.10.250 |
ロードバランサーのVirtual Server IP | 172.16.100.100 |
サーバー | 172.16.10.11 |
追加設定 | 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の設定は以上になります。
動作確認結果
クライアントのブラウザより、ロードバランサーのVirtual Server IPアドレス(172.16.100.100)にアクセスをします。
ロードバランサーがサーバーへ負荷分散を実施し、クライアントのブラウザにwebページが表示されることが確認できます。
上記クライアントからのHTTPアクセスについて、パケットキャプチャを実行しました。
このとき、サーバーへのヘッダ情報を確認すると、X-Forwarded-For機能により
クライアントのIPアドレスが含まれていることが確認できました。