Global Accelerator (GA) リスナーは、ドメイン名ベースおよびパスベースの転送ルールをサポートしています。 このトピックでは、ドメイン名ベースおよびパスベースの転送条件を設定する方法について説明します。 このトピックでは、書き換えとリダイレクトのパスを設定する方法についても説明します。
転送条件でのドメイン名の設定
ドメイン名ベースの転送ルールでは、特定のドメイン名、ワイルドカードドメイン名、または正規表現を転送条件として指定できます。 転送ルールの追加方法の詳細については、「転送ルールの追加」をご参照ください。
マッチタイプ | 説明 |
完全一致とワイルドカード一致 |
|
正規表現マッチ (大文字と小文字を区別しない) |
|
転送条件でのパスの設定
パスベースの転送ルールでは、特定のパス、ワイルドカードパス、または正規表現を一致条件として指定できます。 転送ルールの追加方法の詳細については、「転送ルールの追加」をご参照ください。
マッチタイプ | 説明 |
完全一致とワイルドカード一致 |
|
正規表現の一致 (大文字と小文字を区別する) |
|
書き換えとリダイレクトのパスを構成する
書き換えまたはリダイレクトルールで正規表現を一致条件として指定した場合、リクエストがリダイレクトまたは書き換えられたパスによって正規表現が上書きされます。 転送ルールの追加方法の詳細については、「転送ルールの追加」をご参照ください。
パスベースの転送条件で正規表現を構成する方法の詳細については、このトピックの「転送条件でのパスの構成」をご参照ください。
注意事項
カッコ (
( )
) で定義されるキャプチャグループの数は、リクエストが書き換えられるかリダイレクトされるパス内のドル記号 ($
) で定義される変数の数と同じである必要があります。元のパスを上書きするパスを作成するには、最大3つの変数 (
${1}
、${2}
、および${3}
) を使用できます。 変数を他の文字に置き換えることはできません。
手順
パスマッチング: クライアントがリクエストを送信し、パスベースの転送ルールの正規表現を照合します。
抽出と置換: カッコ (
( )
) で定義されたキャプチャグループから抽出されたコンテンツは、${1}
、${2}
、および${3}
に書き込まれます。 コンテンツは、リクエストの書き換えまたはリダイレクト先のパスで使用されます。連結: 変数
${1}
、${2}
、および${3}
は実際の値に置き換えられます。 値は、実際のパスを形成するために連結される。
いいえ
ステップ
例
1
転送ルールで転送条件と転送アクションを設定します。
転送条件のパス:
/sys/(.*)/(.*)/aaa
リクエストの書き換えまたはリダイレクト先のパス:
/${1}/${2}
2
クライアント要求は、転送ルールのパスと一致します。
要求されたパス:
/sys/ccc/bbb/aaa
一致するパス:
/sys/(.*)/(.*)/aaa
3
システムは正規表現から値を抽出し、変数を値に置き換えます。
ccc
とbbb
は正規表現の(.*)
から抽出され、リクエストが書き換えられたりリダイレクトされたりするパスの変数 ${1} と ${2} を置き換えます。${1}
はccc
に置き換えられます。${2}
はbbb
に置き換えられます。
4
値は、実際のパスを形成するために連結される。
バックエンドサーバーが受信したパスは
/ccc/bbb
です。例
GAコンソールでは、前述の使用方法と手順に基づいて転送ルールを作成できます。次の例では、転送ルールの設定方法を示します。
例1: アクションが書き換えおよび転送であるルールの設定
パラメーター
説明
If (すべての条件に一致)
パス: 正規表現マッチ (大文字と小文字を区別します)
マッチ条件
要求されたパスは、指定された正規表現と一致します。
要件
正規表現には、英数字、および次の特殊文字を使用できます。
- _ / \ = ? ~ ^ * $ : ( ) [ ] + | "'@
例
要求されたパス:
/sys/ccc/bbb/aaa
転送条件として
/sys/(.*)/(.*)/aaa
が指定されている場合、要求されたパスが一致します。
次に
書き換え
ドメイン名:
${host}
パス:
/${1}/${2}
検索:
${query}
転送
ドロップダウンリストから仮想エンドポイントグループを選択します。
例2: アクションがリダイレクトである転送ルールの設定
パラメーター
説明
If (すべての条件に一致)
パス: 正規表現マッチング (大文字と小文字を区別します)
マッチ条件
要求されたパスは、指定された正規表現と一致します。
要件
正規表現には、英数字、および次の特殊文字を使用できます。
- _ / \ = ? ~ ^ * $ : ( ) [ ] + | "'@
例
要求されたパス:
/sys/ccc/bbb/aaa
転送条件として
/sys/(.*)/(.*)/aaa
が指定されている場合、要求されたパスが一致します。
次に
リダイレクト
プロトコル:
$Protocol
ホスト:
${host}
ポート:
${Port}
パス:
/${1}/${2}
検索:
${query}
ステータスコード:
301