リクエストヘッダー「User-Agent」を条件にする¶
- 動作確認バージョン
vThunder Version 6.0.7-P2
注釈
- 本項では コンテンツスイッチング機能をご利用いただくための事前設定 を実施済みの想定で説明します。
- 当該チュートリアルのケースはあくまで一例です。「aFleX」機能の詳細な設定はお客様にて メーカードキュメント を参照いただき、設計してください。
- 当該ページ外のaFleXの設定方法や仕様はサポート対象外です。お客様の環境に合わせて、設定方法/性能/可用性等を確認してください。
サンプル設定のシナリオ
クライアントのアクセス先は、ロードバランサーのVirtual Server IPアドレス(172.16.10.102 port443)宛にしたい
条件1として、User-Agentに「TEST1」が含まれる場合は、server01(192.168.2.11)へ転送したい
条件2として、User-Agentに「TEST2」が含まれる場合は、server02(192.168.2.12)へ転送したい
それ以外の通信は、server03(192.168.2.13)に転送したい
構成図
シナリオにおける設定のながれ
1.以下のコマンドで、aFleX の設定名「header_switching」を作成し、編集モードに入る
CLIコマンド入出力例
vThunder(config)#aflex create header_switching
Type in your aFleX script (type . on a line by itself when done)
2.aFleX設定名「header_switching」へスクリプトプログラミング言語TCL(Tool Command Language) を用いて条件式を記載する
設定例
when HTTP_REQUEST {
switch -glob -- [HTTP::header "User-Agent"] {
"*TEST1*" {
pool servicegroup01
}
"*TEST2*" {
pool servicegroup02
}
default {
pool servicegroup03
}
}
}
.
aFleX header_switching created; syntax check passed
vThunder(config)#
正しく設定が完了したときのコンフィグレーションは次のとおり。
vThunder#show aflex header_switching
Name: header_switching
Syntax: Check
Virtual port: No
Content:
when HTTP_REQUEST {
switch -glob -- [HTTP::header "User-Agent"] {
"*TEST1*" {
pool servicegroup01
}
"*TEST2*" {
pool servicegroup02
}
default {
pool servicegroup03
}
}
}
3.Virtual Server名「Header_Switching_virtualserver01」を次のようなパラメーターで作成して、aFleX 設定名「header_switching」と紐づける
設定項目 |
設定値 |
Virtual Server名 |
Header_Switching_virtualserver01 |
IPアドレス |
172.16.10.102 |
ポート番号 |
443 |
プロトコル |
HTTPS |
SSLテンプレート |
servercert |
aFleX設定名 |
header_switching |
Souce NAT(任意) |
有効化(任意) |
CLIにて入力するコマンド
vThunder(config)#slb virtual-server Header_Switching_virtualserver01 172.16.10.102
vThunder(config-slb vserver)#port 443 https
vThunder(config-slb vserver-vport)#source-nat auto precedence
vThunder(config-slb vserver-vport)#template client-ssl servercert
vThunder(config-slb vserver-vport)#aflex header_switching
vThunder(config-slb vserver-vport)#
正しく設定が完了したときのコンフィグレーションは次のとおり。
vThunder#show run slb virtual-server Header_Switching_virtualserver01
!Section configuration: 183 bytes
!
slb virtual-server Header_Switching_virtualserver01 172.16.10.102
port 443 https
aflex header_switching
source-nat auto precedence
template client-ssl servercert
!
動作確認結果
コマンド入出力例
ubuntu@clientvm:~$ curl https://test.example.com -H "User-Agent: TEST1"
server01
ubuntu@clientvm:~$
コマンド入出力例
ubuntu@clientvm:~$ curl https://test.example.com -H "User-Agent: TEST2"
server02
ubuntu@clientvm:~$
ubuntu@clientvm:~$ curl https://test.example.com
server03
ubuntu@clientvm:~$
