EdgeADC
Edgenexus ADCアドミニストレーションガイド
×
Menu

フライトパス

flightPATH」は、ADCに搭載されたトラフィック管理技術です。「flightPATH」は、HTTPHTTPSのトラフィックをリアルタイムに検査し、条件に応じてアクションを実行することができます。
IPオブジェクトをルール内で使用する場合、flightPATHルールをVIPに適用する必要があります。
フライトパスルールは4つの要素で構成されています。
1.     Details(詳細)では、flightPATH Name(フライトパス名)とアタッチ先のService(サービス)を定義します。
2.     ルールのトリガーとなる条件を定義することができます。
3.     アクションの中で使用できる変数を定義することができる評価
4.     条件が満たされたときに起こるべきことを管理するために使用されるアクション
詳細
詳細セクションには、利用可能なflightPATHルールが表示されます。このセクションでは、新しいflightPATHルールを追加したり、定義済みのルールを削除することができます。
新しいflightPATHルールの追加
フィールド
説明
フライトパス名
このフィールドは、flightPATHルールの名前です。ここで指定した名前は、ADCの他の部分に表示され、参照されます。
VSに適用
この列は読み取り専用で、flightPATHルールが適用されるVIPを示します。
説明
読みやすさのために用意された説明文を表す値。
flightPATHルールを追加する手順
1.     まず、"Details "セクションにある "Add New "ボタンをクリックします。
2.     ルールの名前を入力します。例 Auth2
3.     ルールの説明を入力する
4.     ルールがサービスに適用されると、[Applied To]列にIPアドレスとポートの値が自動入力されます。
5.     更新ボタンを押して変更内容を保存するのを忘れないでください。間違った場合は、キャンセルボタンを押して以前の状態に戻してください。
状態
flightPATH ルールは任意の数の条件を持つことができます。条件は AND で動作するため、アクションがトリガーされる条件を設定できます。OR条件を使用したい場合は、追加のflightPATHルールを作成し、正しい順序でVIPに適用します。
また、[Check] フィールドで [Match RegEx] を、[Value] フィールドで [RegEx] の値を選択して RegEx を使用することもできます。RegEx の評価を含めることで、flightPATH の機能が大幅に拡張されます。
flightPATH条件の新規作成
状態
私たちは、ドロップダウン内にあらかじめ定義されたいくつかの条件を提供し、想定されるすべてのシナリオをカバーしています。新しい条件が追加された場合は、Jetpackのアップデートにより利用可能になります。
選択肢は以下の通りです。
コンディション
説明
例題
<form>(英語
HTMLフォームはサーバーにデータを渡すために使われる
"form doesn't have length 0"
GEO ロケーション
送信元IPアドレスとISO3166の国別コードを比較して
GEO ロケーションが GB に該当する場合、または GEO ロケーションが Germany に該当する場合
ホスト
URLから抽出したホスト
www.mywebsite.com または 192.168.1.1
言語
language HTTPヘッダから抽出した言語
この条件では、Languagesのリストを含むドロップダウンが生成されます。
方法
HTTPメソッドのドロップダウン
GETPOSTなどを含むドロップダウン
オリジンIP
上流のプロキシがX-Forwarded-ForXFF)をサポートしている場合、真のOriginアドレスを使用します。
クライアントIPです。また、複数のIPやサブネットを使用することもできます。
10.1.2.0 /24 subnet
10\.1.2.3|10\.1.2.4 Use | for multiple IP's
パス
ウェブサイトのパス
/mywebsite/index.asp
POST
POSTリクエストメソッド
Webサイトにアップロードされるデータのチェック
問い合わせ
クエリの名前と値で、クエリ名か値も受け付けることができる
"Best=jetNEXUS" マッチがベストで、バリューがエッジNEXUSの場合
問い合わせ文字列
? "文字以降のクエリ文字列全体
 
リクエストクッキー
クライアントから要求されたクッキーの名前
MS-WSMAN=afYfn1CDqqCDqUD::
リクエストヘッダー
Any HTTP Header
リファラー、ユーザーエージェント、FromDate
リクエストバージョン
HTTPバージョン
http/1.0またはhttp/1.1
レスポンスボディ
レスポンスボディに含まれるユーザー定義の文字列
サーバーアップ
応答コード
レスポンスのHTTPコード
200 OK, 304 Not Modified
レスポンスクッキー
サーバーから送られてきたクッキーの名前
MS-WSMAN=afYfn1CDqqCDqUD::
レスポンスヘッダー
Any HTTP Header
リファラー、ユーザーエージェント、FromDate
レスポンスバージョン
サーバーから送られてきたHTTPバージョン
http/1.0またはhttp/1.1
ソースIP
オリジンIP、プロキシサーバーIP、またはその他の集約されたIPアドレスのいずれか
 
ClientIPProxyIPFirewallIP。複数のIPやサブネットを使用することもできます。ドットはRegEXなので必ずエスケープしてください。例 10\\.1\.2\.3 10.1.2.3 です。
 
マッチ
一致」フィールドは、ドロップダウンまたはテキスト値のいずれかで、「条件」フィールドの値に応じて定義できます。例えば、ConditionHostに設定されている場合、Matchフィールドは利用できません。Condition<form>に設定されている場合、Matchフィールドはテキストフィールドとして表示され、ConditionPOSTに設定されている場合、Matchフィールドは適切な値を含むドロップダウンとして表示されます。
選択肢は以下の通りです。
MATCH
説明
例題
受け入れ
許容されるコンテンツタイプ
Accept: text/plain
Accept-Encoding
使用可能なエンコーディング
Accept-Encoding: <compress | gzip | deflate | sdch | identity>
アクセプト・ランゲージ
回答に使用できる言語
Accept-Language: en-US
受け入れ範囲
このサーバーがサポートしているパーシャルコンテンツの範囲タイプ
Accept-Ranges: bytes
オーソライズ
HTTP認証用の認証情報
オーソライズされています。基本 QWxhZGRpbjpvcGVuIHNlc2FtZQ==
チャージ・トゥー
要求された方法の適用にかかるコストの勘定情報を含む
 
Content-Encoding
使用されているエンコーディングの種類
Content-Encoding: gzip
Content-Length
レスポンスボディの長さをオクテット(8ビットバイト)で表したもの
Content-Length: 348
コンテンツタイプ
リクエストの本文のmimeタイプ(POSTおよびPUTリクエストで使用されます
Content-Type: application/x-www-form-urlencoded
クッキー
Set-Cookie(下記)でサーバーから送られてきたHTTPクッキー
Cookie: $Version=1; Skin=new;
日付
メッセージが発信された日付と時間
Date = "日付" ":" HTTP-date
ETag
リソースの特定のバージョンを示す識別子で、多くはメッセージダイジェストです。
ETag:"aed6bdb8e090cd1:0"
より
リクエストを行ったユーザーのEメールアドレス
From: user@example.com
If-Modified-Since
コンテンツが変更されていない場合に、304 Not Modifiedを返すことができる。
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Last-Modified
リクエストされたオブジェクトの最終更新日(RFC2822形式)。
Last-Modified:Tue, 15 Nov 1994 12:45:26 GMT
Pragma
実装。リクエスト-レスポンスの連鎖のどこかで様々な効果をもたらす可能性のある特定のヘッダー。
Pragma: no-cache
リファラー
現在要求されているページへのリンクを辿った前のWebページのアドレス
リファラー:HTTP://www.edgenexus.io
サーバー
サーバーの名前
サーバーです。Apache/2.4.1 (Unix)
セット-クーキー
HTTPクッキー
セット-クーキーUserID=JohnDoe; Max-Age=3600; Version=1
User-Agent
ユーザーエージェントの文字列
User-AgentMozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Vary
下流のプロキシに対して、将来のリクエストヘッダーをどのように照合し、
オリジンサーバーから
新たなレスポンスをリクエストするのではなく、キャッシュされたレスポンスを使用できるかどうかを判断する方法を指示します。
Vary:User-Agent
X-Powered-By
Webアプリケーションを支える技術(ASP.NETPHPJBossなど)を指定します。
X-Powered-By:PHP/5.4.0
 
センス
Senseフィールドはドロップダウン式のブール型フィールドで、DoesまたはDoesn'tの選択肢があります。
チェック
チェックフィールドでは、条件に対するチェック値を設定することができます。
選択できる項目は以下の通りです。ContainEndEqualExistHave LengthMatch RegExMatch ListStartExceed Length
CHECK
説明
例題
存在する
これは、条件の詳細を気にせず、存在するかしないかだけを気にするものです。
ホストが存在する
スタート
文字列は、Valueで始まります。
パス - Does - Start - /secure
終了
文字列の最後には、Value
パス - Does - End - .jpg
収録内容
この文字列には、以下の値が含まれています。
リクエストヘッダー - アクセプト - Does - Contain - image
イコール
文字列は「値」と等しい
ホスト - Does - Equal - www.jetnexus.com
長さ
文字列は、値の長さを持っています。
ホスト - Does - Have Length - 16
www.jetnexus.com = TRUE
www.jetnexus.co.uk = FALSE
Match RegEx
完全なPerl互換の正規表現を入力することができます。
Origin IP - Does - Match Regex - 10\...* | 11\...*
 
条件を追加する手順
新しい flightPATH 条件の追加はとても簡単です。その例を上に示します。
1.     条件エリア内の「新規追加」ボタンをクリックします。
2.     ドロップダウンボックスから条件を選択します。ここではHostを例に説明します。フィールドに入力することもでき、ADCはドロップダウンで値を表示します。
3.     Senseを選ぶ。例えば、Does
4.     チェックを選びます。例えば、「Contain
5.     値を選択します。例えば、mycompany.com
上記の例では、ルールが完了するためには、両方ともTRUEでなければならない2つの条件があることを示しています。
·     1つ目は、要求されたオブジェクトが画像であるかどうかを確認することです。
·     2つ目は、URLのホストがwww.imagepool.com であるかどうかをチェックします。
評価
定義可能な変数を追加できるのは魅力的な機能です。通常のADCでは、スクリプトやコマンドラインのオプションを使ってこの機能を提供していますが、これは誰にとっても理想的ではありません。ADCでは、以下に示すように、使いやすいGUIを使って任意の数の変数を定義することができます。
flightPATH変数の定義には、4つのエントリーが必要です。
·     Variable - これは変数の名前です。
·     Source - ドロップダウンリストに表示されるソースポイント。
·     詳細 - ドロップダウンから値を選択するか、手動で入力します。
·     Value - 変数が保持する値で、英数字または微調整用のRegExが使用できます。
内蔵変数。
組み込み変数はすでにハードコードされているので、これらのために評価エントリを作成する必要はありません。
アクション "セクションでは、以下のような変数が使用できます。
各変数の説明は、上の「条件」の表にあります。
·     メソッド = $method$
·     パス = $path$
·     クエリストリング = $querystring$
·     Sourceip = $sourceip$
·     レスポンスコード(テキストには "200 OK "も含まれる) = $resp$
·     ホスト = $host$
·     バージョン = $version$
·     クライアントポート = $clientport$
·     Clientip = $clientip$
·     ジオロケーション = $geolocation$"
ACTION
TARGET
アクション = リダイレクト 302
ターゲット = HTTPs://$host$/404.html
アクション=ログ
ターゲット = $sourceip$:$sourceport$のクライアントが$path$ページをリクエストしました。
 
説明します。
·     存在しないページにアクセスすると、通常はブラウザの404エラーページが表示されます。
·     代わりに、ユーザーが使用した元のホスト名にリダイレクトされますが、不正なパスは404.htmlに置き換えられます。
·     Syslog "A client from 154.3.22.14:3454 has just requested the wrong.html page "というエントリが追加されます。
アクション
プロセスの次の段階では、flightPATHルールと条件に関連するアクションを追加します。
この例では、ユーザーが入力したURLを反映させるために、URLのパス部分を書き換えます。
·     新規追加」をクリックします。
·     アクション」ドロップダウンメニューから「パスの書き換え」を選択します。
·     ターゲット」欄に「$path$/myimages」と入力します。
·     アップデートをクリック
このアクションでは、パスに/myimagesが追加されるので、最終的なURLwww.imagepool.com/myimages となります。
flightPATHルールの適用
flightPATHルールの適用は、各VIP/VSflightPATHタブ内で行われます。
·     サービス」>「IPサービス」を選択し、flightPATHルールを割り当てるVIPを選択します。
·     以下のようなReal Serverのリストが表示されます。
·     flightPATHタブをクリックします。
·     設定したflightPATHルール、またはサポートされている事前構築済みのルールのいずれかを選択します。必要に応じて、複数のflightPATHルールを選択できます。
·     選択したセットを「Applied flightPATHs」セクションにドラッグ&ドロップするか、>>矢印ボタンをクリックします。
·     ルールは右側に移動し、自動的に適用されます。