このトピックでは、Application Load Balancer (ALB) リスナーのドメイン名ベースおよびパスベースの転送条件を設定する方法について説明します。 このトピックでは、書き換えとリダイレクトのパスを設定する方法についても説明します。
ドメイン名ベースの転送ルール
ドメイン名ベースの転送ルールの一致条件として、特定のドメイン名、ワイルドカードドメイン名、または正規表現を指定できます。 転送ルールの作成方法の詳細については、リスナーの転送ルールの管理トピックの転送ルールの作成セクションをご参照ください。
マッチタイプ | 説明 |
完全一致とワイルドカード一致 |
|
正規表現マッチ |
|
URLベースの転送ルール
URLベースの転送ルールでは、特定のURL、ワイルドカードURL、または正規表現を一致条件として指定できます。 転送ルールの作成方法の詳細については、「リスナーの転送ルールの管理」トピックの転送ルールの作成セクションをご参照ください。
マッチタイプ | 説明 |
完全一致とワイルドカード一致 |
|
正規表現マッチ |
|
書き換えとリダイレクトのための高度なURLベースの転送ルール設定
書き換えまたはリダイレクトルールで正規表現を一致条件として指定した場合、元のURLは正規表現に一致する変数によって上書きされます。 転送ルールの作成方法の詳細については、リスナーの転送ルールの管理トピックの転送ルールの作成セクションをご参照ください。
URLベースの転送条件で正規表現を設定する方法の詳細については、このトピックの「URLベースの転送ルール」をご参照ください。
使用状況ノート
書き換えルールまたはリダイレクトルールの一致条件として1つ以上の正規表現を指定し、括弧
( )
を使用してキャプチャグループとして定義できます。 キャプチャグループの数は、書き換えルールまたはリダイレクトルールの変数の数と同じである必要があります。最大3つの変数 (
${1}
、${2}
、および${3}
) を使用して、元のURLを上書きするURLを作成できます。 変数を他の文字に置き換えることはできません。
手順
URL一致: クライアントがリクエストを送信します。 リクエストは、転送ルールで指定された正規表現と一致します。
抽出と置換: キャプチャグループ
( )
からコンテンツを抽出し、コンテンツを${1}
、${2}
、${3}
に書き込みます。 コンテンツは、転送アクションの書き換えパスまたはリダイレクトパスを置き換えるために使用されます。スプライシング: 変数
${1}
、${2}
、および${3}
を上書きした文字列をスプライスして、新しいURLを形成します。
いいえ
ステップ
例
1
転送ルールで転送条件と転送アクションを設定します。
転送条件のパス:
/sys/(.*)/(.*)/aaa
リクエストの書き換えまたはリダイレクト先のパス:
/${1}/${2}
2
クライアント要求は、転送ルールのパスと一致します。
要求されたパス:
/sys/ccc/bbb/aaa
一致するパス:
/sys/(.*)/(.*)/aaa
3
システムは正規表現から値を抽出し、変数を値に置き換えます。
ccc
とbbb
は正規表現の(.*)
から抽出され、リクエストが書き換えられたりリダイレクトされたりするパスの変数 ${1} と ${2} を置き換えます。${1}
はccc
に置き換えられます。${2}
はbbb
に置き換えられます。
4
値は、実際のパスを形成するために連結される。
バックエンドサーバーが受信したパスは
/ccc/bbb
です。例
使用法のメモと手順に基づいて、ALBコンソールで転送ルールを作成できます。 次の例は、転送ルールの設定方法を示しています。
例1: 書き換えまたは転送アクションの設定
パラメーター
説明
すべての条件に一致する場合
正規表現マッチ
マッチ条件
要求されたパスは、指定された正規表現と一致します。
要件
正規表現には、文字、数字、および次の特殊文字のみを含めることができます:
。 - _ / = ? ~ ^ * $ : ( ) [ ] + |
。例
要求されたパス:
/sys/ccc/bbb/aaa
大文字と小文字を区別する正規表現: 転送ルールで
/sys/(.*)/(.*)/aaa
が指定されている場合、要求されたパスが一致します。大文字と小文字を区別しない正規表現: 転送ルールで
/sys/(.*)/(.*)/aaa
が指定されている場合、要求されたパスが一致します。
Action
書き換え
ドメイン名:
${host}
パス:
/${1}/${2}
検索:
${query}
フォワード
ドロップダウンリストからサーバーグループを選択します。
例2: リダイレクトアクションの設定
パラメーター
説明
すべての条件に一致する場合
正規表現マッチ
マッチ条件
要求されたパスは、指定された正規表現と一致します。
要件
正規表現には、文字、数字、および次の特殊文字のみを含めることができます:
。 - _ / = ? ~ ^ * $ : ( ) [ ] + |
。例
要求されたパス:
/sys/ccc/bbb/aaa
大文字と小文字を区別する正規表現: 転送ルールで
/sys/(.*)/(.*)/aaa
が指定されている場合、要求されたパスが一致します。大文字と小文字を区別しない正規表現: 転送ルールで
/sys/(.*)/(.*)/aaa
が指定されている場合、要求されたパスが一致します。
Action
Redirect
プロトコル:
$Protocol
ドメイン名:
${host}
ポート:
${Port}
パス:
/${1}/${2}
検索:
${query}
ステータスコード:
301
関連ドキュメント
ALBリスナーに他の転送ルールを設定する方法の詳細については、「ALBリスナーの転送ルールの設定」をご参照ください。