リクエストヘッダーを条件にするコンテンツスイッチング設定

動作確認バージョン:NetScaler VPX Version12.1 Standard Edition, NetScaler VPX Version13.1 Standard Edition
「Content Switching Virtual Server」「Content Switching Policy」を設定することで、リクエストに含まれるクライアント属性でコンテンツの種類を識別し、ロードバランシング機能のVirtual Serverに振り分けることができます。本項では、リクエストのヘッダーに含まれるUser-Agent属性を識別する設定を紹介します。

事前準備

本設定を実施する前に 「バーチャルサーバのプロトコルとしてSSLを使用する方法」 のページを参照しSSLオフロード機能を有効にしてください。

サンプル設定のシナリオ

  • クライアントPCのアクセス先は、ロードバランサーの仮想IPアドレス(172.16.100.100 port443)宛にしたい
  • ロードバランサーは、172.16.100.100を宛先にする通信のうち、User-Agentに”TEST1”が含まれるものを仮想サービス1へ、User-Agentに”TEST2”が含まれるものを仮想サービス2へ、それ以外の通信を仮想サービス3に転送したい
構成図
Fig18301

振り分けポリシーの設定(1番目) 「Configuration」メニューより「Traffic Management」→「Content Switching」→「Policies」へと進み、Content Switching Policies画面を表示後、「Add」をクリックします。

contentswitching_fig02
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」をクリックします。
contentswitching_fig03

振り分けポリシーの設定(2番目) 「Configuration」メニューより「Traffic Management」→「Content Switching」→「Policies」へと進み、Content Switching Policies画面を表示後、「Add」をクリックします。

contentswitching_fig04
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」をクリックします。
contentswitching_fig05

クライアント向けIPアドレスと振り分けポリシー・振り分け先の設定 | 「Configuration」メニューより「Traffic Management」→「Content Switching」→「Virtual Servers」へと進み、Content Switching Virtual Servers画面を表示後、「Add」をクリックします。

contentswitching_fig06
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  
設定値を入力し、「More」をクリックします。
contentswitching_fig07
さらに「Traffic Domain」にて10を入力し、「OK」をクリックします。
contentswitching_fig08
作成したContent Switching Virtual Server の詳細が表示されるので、「Content Switching Policy Binding」の「No Content Switching Policy Bound」と表示されている部分を選択します。
contentswitching_fig10
新たに「Policy Binding」画面が表示されるので、「Select Policy」項の「Click to select」をクリックします。
contentswitching_fig11
作成済みPolicyの選択画面が表示されるので、先ほど作成した「UA-Test1」Policyを選択し「Select」をクリックします。
contentswitching_fig12
「Binding Details」項の「Target Load Balancing Virtual Server」の「Click to select」をクリックします。
contentswitching_fig13
作成済みVirtual Serverの選択画面が表示されるので、「vserver01」を選択し「Select」をクリックします。
contentswitching_fig14
Policy Binding画面が表示されますので、「Target Load Balancing Virtual Server」項に指定した「Virtual Server Name」が登録されている事を確認し「Bind」をクリックします。
contentswitching_fig15
Content Switching Virtual Server の詳細表示画面が表示されるので、「Content Switching Policy Binding」に「1 Content Switching Policy」と表示されている事を確認し、「OK」をクリックします。
contentswitching_fig16

注釈

同様の手順で「UA-Test2」についても設定します。

「Content Switching Policy Binding」項の「1 Content Switching Policy」と表示されている部分を選択します。
contentswitching_fig17
Content Switching Virtual Server Content Switching Policy Binding 画面が表示されるので「Add Binding」をクリックします。
contentswitching_fig18
新たに「Policy Binding」画面が表示されるので、「Select Policy」項の「Click to select」をクリックします。
contentswitching_fig19
作成済みPolicyの選択画面が表示されるので、先ほど作成した「UA-Test2」Policyを選択し「Select」をクリックします。
contentswitching_fig20
「Binding Details」項の「Target Load Balancing Virtual Server」の「Click to select」をクリックします。
contentswitching_fig21
作成済みVirtual Serverの選択画面が表示されるので、「vserver02」を選択し「Select」をクリックします。
contentswitching_fig22
Policy Binding画面が表示されますので、「Target Load Balancing Virtual Server」項に指定した「Virtual Server Name」が登録されている事を確認し「Bind」をクリックします。
contentswitching_fig23
Content Switching Virtual Server Content Switching Policy Binding 画面が表示されるので、「Close」をクリックします。
contentswitching_fig23
Content Switching Virtual Server の詳細表示画面が表示されるので、「Content Switching Policy Binding」に「2 Content Switching Policy」と表示されている事を確認します。
contentswitching_fig25

注釈

各Policyについて「Priority」が自動的に100, 110と設定されます。複数一致するようなポリシーがある場合はPriority値が少ない順に振り分け処理が実施されます。また、いずれのポリシーにも一致しない通信については、次に設定を行う「Default Virtual Server」に振り分けられます。

作成したContent Switching Virtual Server の詳細が表示された状態で、「Content Switching Policy Binding」の「No Default Virtual Server Bound」と表示されている部分を選択します。
contentswitching_fig26
新たに「Configure Content Switching Virtual Server to Load Balancing Virtual Server Binding」画面が表示されるので、「Default Load Balancing Virtual Server Name」項のドロップダウンメニューをから作成済みVirtual Server「vserver03」を選択し、「Bind」をクリックします。
contentswitching_fig27
作成したContent Switching Virtual Server の詳細が表示されるので、画面右の「Advanced Settings」より「Certificate」をクリックします。
contentswitching_fig28
「Certificate」のクリックにより現れた「Certificate」項の「No Server Certificate」をクリックします。
contentswitching_fig29
Server Certificate Binding画面が表示されるので、「Select Server Certificate」の「Click to select」 を選択しクリックします。
contentswitching_fig30
SSL Certificates画面で「example-IA」 を選択し、「Select」をクリックします。
contentswitching_fig31

注釈

事前に証明書の登録及び証明書間の紐付けしておきます。詳細は 証明書を登録する方法 及び 中間証明書とサーバー証明書の紐付け をご参照下さい。

Server Certificate Binding画面が表示されるので、「Select Server Certificate」に「example-IA」が入力されているのを確認し、「Bind」をクリックします。
contentswitching_fig32
Content Switching Virtual Server の詳細表示画面が表示されるので、「Certificates」が「1 Server Certificate」と表示されているのを確認し、「No CA Certificate」をクリックします。
contentswitching_fig33
CA Certificate Binding画面が表示されるので、「Select CA Certificate」の「Click to select」 を選択しクリックします。
contentswitching_fig34
SSL Certificates画面で「example-CA」 を選択し、「Select」をクリックします。
contentswitching_fig35
CA Certificate Binding画面が表示されるので、「Select CA Certificate」に「example-CA」が入力されているのを確認し、「Bind」をクリックします。
contentswitching_fig36
Content Switching Virtual Server の詳細表示画面が表示されるので、「Certificates」が「1 CA Certificate」と表示されているのを確認し、「Continue」をクリックします。
contentswitching_fig37
画面下に表示されている「Done」をクリックします。
contentswitching_fig38
Content Switching Virtual Serverの画面で対象の「State」および「Effective State」が「Up」である事を確認します。
contentswitching_fig39

動作確認結果

クライアントよりUser-Agentを付与した状態でアクセスすると、Content Switching設定に紐づくサーバーに接続していることから、設定が完了していることが確認できました。
cotentswitching_fig40

注釈

サーバー側で確認をする場合「-k」(SSL接続で証明書エラーをスキップするオプション)をつけないとエラーとなります。