リクエストヘッダーを条件にするコンテンツスイッチング設定
動作確認バージョン: | NetScaler VPX Version13.1 Standard Edition |
「Content Switching Virtual Server」「Content Switching Policy」を設定することで、リクエストに含まれるクライアント属性でコンテンツの種類を識別し、ロードバランシング機能のVirtual Serverに振り分けることができます。本項では、リクエストのヘッダーに含まれるUser-Agent属性を識別する設定を紹介します。
事前準備
サンプル設定のシナリオ
- クライアントのアクセス先は、ロードバランサーのVirtual Server IPアドレス(172.16.100.100 port443)宛にしたい
- ロードバランサーはVirtual Server IPアドレス(172.16.100.100 port443)宛の通信のうち、User-Agentに「TEST1」が含まれるものをvserver01(172.16.100.101)へ、User-Agentに「TEST2」が含まれるものをvserver02(172.16.100.102)へ、それ以外の通信をvserver03(172.16.100.103)に転送したい
振り分けポリシーの設定(1番目)
「Configuration」メニューより「Traffic Management」→「Content Switching」→「Policies」へと進み、Content Switching Policies画面を表示後、「Add」をクリックします。
Create Content Switching Policy画面では以下の表のパラメータを入力していきます。
設定項目 |
設定値 |
Name |
UA-Test1(任意のPolicy名) |
Action |
|
Log Action |
|
Expression/URL |
Expression ※Version 12.1-55.18以前のみ |
Expression |
HTTP.REQ.HEADER("User-Agent").CONTAINS("TEST1") |
設定値を入力し、「Create」をクリックします。
振り分けポリシーの設定(2番目)
「Configuration」メニューより「Traffic Management」→「Content Switching」→「Policies」へと進み、Content Switching Policies画面を表示後、「Add」をクリックします。
Create Content Switching Policy画面では以下の表のパラメータを入力していきます。
設定項目 |
設定値 |
Name |
UA-Test2(任意のPolicy名) |
Action |
|
Log Action |
|
Expression/URL |
Expression ※Version 12.1-55.18以前のみ |
Expression |
HTTP.REQ.HEADER("User-Agent").CONTAINS("TEST2") |
設定値を入力し、「Create」をクリックします。
クライアント向けIPアドレスと振り分けポリシー・振り分け先の設定
| 「Configuration」メニューより「Traffic Management」→「Content Switching」→「Virtual Servers」へと進み、Content Switching Virtual Servers画面を表示後、「Add」をクリックします。
Create Content Switching Virtual Servers画面では以下の表のパラメータを入力していきます。
<Version 12.1-55.18以前>
設定項目 |
設定値 |
Name |
CSvserver01(任意のContent Switching Virtual Server名) |
Protocol |
SSL |
Target Type |
None |
IP Address Type |
IP Address |
IP Address |
172.16.100.100 |
Port |
443 |
TrafficDomain |
10(必ず10を指定してください) |
IP Range IP Set settings |
|
Listen Priority |
|
<Version 13.1-4.136以降>
設定項目 |
設定値 |
Name |
CSvserver01(任意のContent Switching Virtual Server名) |
Protocol |
SSL |
Target Type |
None |
Persistence Type |
|
Persist Mask |
255.255.255.255 |
IPv6 Persist Mask Length |
128 |
Timeout |
2 |
IP Address Type |
IP Address |
IP Address |
172.16.100.100 |
Port |
443 |
TrafficDomain |
10(必ず10を指定してください) |
IP Range IP Set settings |
|
Listen Priority |
|
さらに「Traffic Domain」にて10を入力し、「OK」をクリックします。
作成したContent Switching Virtual Server の詳細が表示されるので、「Content Switching Policy Binding」の「No Content Switching Policy Bound」と表示されている部分を選択します。
新たに「Policy Binding」画面が表示されるので、「Select Policy」項の「Click to select」をクリックします。
作成済みPolicyの選択画面が表示されるので、先ほど作成した「UA-Test1」Policyを選択し「Select」をクリックします。
「Binding Details」項の「Target Load Balancing Virtual Server」の「Click to select」をクリックします。
作成済みVirtual Serverの選択画面が表示されるので、「vserver01」を選択し「Select」をクリックします。
Policy Binding画面が表示されますので、「Target Load Balancing Virtual Server」項に指定した「Virtual Server Name」が登録されている事を確認し「Bind」をクリックします。
Content Switching Virtual Server の詳細表示画面が表示されるので、「Content Switching Policy Binding」に「1 Content Switching Policy」と表示されている事を確認し、「OK」をクリックします。
注釈
同様の手順で「UA-Test2」についても設定します。
「Content Switching Policy Binding」項の「1 Content Switching Policy」と表示されている部分を選択します。
Content Switching Virtual Server Content Switching Policy Binding 画面が表示されるので「Add Binding」をクリックします。
新たに「Policy Binding」画面が表示されるので、「Select Policy」項の「Click to select」をクリックします。
作成済みPolicyの選択画面が表示されるので、先ほど作成した「UA-Test2」Policyを選択し「Select」をクリックします。
「Binding Details」項の「Target Load Balancing Virtual Server」の「Click to select」をクリックします。
作成済みVirtual Serverの選択画面が表示されるので、「vserver02」を選択し「Select」をクリックします。
Policy Binding画面が表示されますので、「Target Load Balancing Virtual Server」項に指定した「Virtual Server Name」が登録されている事を確認し「Bind」をクリックします。
Content Switching Virtual Server Content Switching Policy Binding 画面が表示されるので、「Close」をクリックします。
Content Switching Virtual Server の詳細表示画面が表示されるので、「Content Switching Policy Binding」に「2 Content Switching Policy」と表示されている事を確認します。
注釈
各Policyについて「Priority」が自動的に100, 110と設定されます。複数一致するようなポリシーがある場合はPriority値が少ない順に振り分け処理が実施されます。また、いずれのポリシーにも一致しない通信については、次に設定を行う「Default Virtual Server」に振り分けられます。
作成したContent Switching Virtual Server の詳細が表示された状態で、「Content Switching Policy Binding」の「No Default Virtual Server Bound」と表示されている部分を選択します。
新たに「Configure Content Switching Virtual Server to Load Balancing Virtual Server Binding」画面が表示されるので、「Default Load Balancing Virtual Server Name」項のドロップダウンメニューをから作成済みVirtual Server「vserver03」を選択し、「Bind」をクリックします。
作成したContent Switching Virtual Server の詳細が表示されるので、画面右の「Advanced Settings」より「Certificate」をクリックします。
「Certificate」のクリックにより現れた「Certificate」項の「No Server Certificate」をクリックします。
Server Certificate Binding画面が表示されるので、「Select Server Certificate」の「Click to select」 を選択しクリックします。
SSL Certificates画面で「example-IA」 を選択し、「Select」をクリックします。
Server Certificate Binding画面が表示されるので、「Select Server Certificate」に「example-IA」が入力されているのを確認し、「Bind」をクリックします。
Content Switching Virtual Server の詳細表示画面が表示されるので、「Certificates」が「1 Server Certificate」と表示されているのを確認し、「No CA Certificate」をクリックします。
CA Certificate Binding画面が表示されるので、「Select CA Certificate」の「Click to select」 を選択しクリックします。
SSL Certificates画面で「example-CA」 を選択し、「Select」をクリックします。
CA Certificate Binding画面が表示されるので、「Select CA Certificate」に「example-CA」が入力されているのを確認し、「Bind」をクリックします。
Content Switching Virtual Server の詳細表示画面が表示されるので、「Certificates」が「1 CA Certificate」と表示されているのを確認し、「Continue」をクリックします。
画面下に表示されている「Done」をクリックします。
Content Switching Virtual Serverの画面で対象の「State」および「Effective State」が「Up」である事を確認します。
動作確認結果
クライアントよりUser-Agentを付与した状態でアクセスすると、Content Switching設定に紐づくサーバーに接続していることから、設定が完了していることが確認できました。
注釈
サーバー側で確認をする場合「-k」(SSL接続で証明書エラーをスキップするオプション)をつけないとエラーとなります。