要求転送により、URL またはホストが特定のサーバ プールにリダイレクトされます。
前提条件
レイヤー 7 HTTP 仮想サーバが使用できることを確認します。レイヤー 7 HTTP 仮想サーバの追加 を参照してください。
ロード バランサのルールは、一致のタイプとして正規表現をサポートします。高度な使用方法ではいくつかの制限がありますが、PCRE スタイルの正規表現パターンがサポートされています。一致条件に正規表現を使用する場合、名前付きキャプチャ グループがサポートされます。ロード バランサ ルールの正規表現を参照してください。
手順
- レイヤー 7 HTTP 仮想サーバを開きます。
- の順にクリックし、HTTP 要求の転送にロード バランサ ルールを構成します。
- ドロップダウン リストから一致条件を選択します。一致条件は、ロード バランサを通過するアプリケーション トラフィックを照合する際に使用されます。1 つのロード バランサ ルールに複数の一致条件を指定できます。それぞれの一致条件で、アプリケーション トラフィックの基準が定義されます。
サポートされている一致条件 説明 HTTP 要求メソッド HTTP 要求メソッドに一致します。 http_request.method:一致する値
HTTP 要求 URI クエリの引数を除いて、HTTP 要求 URI と一致します。 http_request.uri:一致する値
HTTP 要求の URI 引数 HTTP 要求メッセージの URI 引数(クエリ文字列)の照合に使用されます。URI の例:http://exaple.com?foo=1&bar=2 ここで、foo=1&bar=2 が URI 引数を含むクエリ文字列です。URI スキームでは、クエリ文字列は疑問符 (?) で始まり、番号記号 (#) か URI の最後で終わります。
http_request.uri_arguments:一致する値
HTTP 要求バージョン HTTP 要求メッセージの HTTP プロトコルのバージョンを照合する際に使用されます。 http_request.version:一致する値
HTTP 要求ヘッダー HTTP 要求メッセージを HTTP ヘッダー フィールドで照合する際に使用されます。HTTP ヘッダー フィールドは、HTTP 要求および応答メッセージに含まれるヘッダー セクションのコンポーネントです。HTTP トランザクションの操作パラメータを定義します。 http_request.header_name:一致するヘッダー名
http_request.header_value:一致する値
HTTP 要求の Cookie HTTP 要求メッセージを Cookie で照合する際に使用されます。これは、特殊なタイプの HTTP ヘッダーです。match_type と case_sensitive で cookie 値の比較方法を定義します。 http_request.cookie_value:一致する値
HTTP 要求の本文 HTTP 要求の本文の内容に一致します。 http_request.body_value:一致する値
クライアント SSL クライアント SSL プロファイル ID と一致します。 ssl_profile_id:一致する値
TCP ヘッダー ポート TCP の送信元ポートまたは宛先ポートと一致します。 tcp_header.source_port:一致する送信元ポート
tcp_header.destination_port:一致する宛先ポートIP ヘッダー ソース HTTP メッセージの IP ヘッダー フィールドと一致します。送信元のタイプは、単一の IP アドレス、IP アドレスの範囲またはグループのいずれかにする必要があります。グループの追加を参照してください。 - IP ヘッダー ソースが選択され、IP アドレスのソース タイプが指定されている場合、HTTP メッセージの送信元 IP アドレスは、グループで構成されている IP アドレスと一致する必要があります。IPv4 と IPv6 の両方のアドレスがサポートされています。
- IP ヘッダー ソースがグループ ソースタイプで選択されている場合は、ドロップダウン リストからグループを選択します。
ip_header.source_address:一致する送信元の IP アドレス
ip_header.destination_address:一致する宛先の IP アドレス変数 変数を作成し、この変数に値を割り当てます。 大文字と小文字を区別 HTTP ヘッダー値を比較する場合、大文字と小文字が区別されるフラグを設定します。true の場合、HTTP 本文の値を比較するときに大文字と小文字が区別されます。 - アクションを選択します。
アクション 説明 HTTP 拒否 HTTP 要求メッセージを拒否する場合に使用します。指定された reply_status 値は、対応する HTTP 応答メッセージの状態コードとして使用されます。応答メッセージがクライアント(通常はブラウザ)に返され、は、拒否された理由が示されます。 http_forward.reply_status - 却下するために使用する HTTP 状態コード
http_forward.reply_message - HTTP 却下メッセージHTTP リダイレクト HTTP 要求メッセージを新しい URL にリダイレクトする場合に使用します。リダイレクトの HTTP 状態コードは 3xx になります(例:301、302、303、307 など)。redirect_url は、HTTP 要求メッセージがリダイレクトされる新しい URL です。
http_forward.redirect_status は リダイレクトの HTTP 状態コード、http_forward.redirect_url は HTTP リダイレクトの URL です。プールの選択 要求に特定のサーバ プールを適用します。指定されたプール メンバーの構成済みアルゴリズム(予測)を使用して、サーバ プール内のサーバを選択します。一致した HTTP 要求メッセージは指定されたプールに転送されます。
HTTP キープアライブが有効で、ロード バランサで転送ルールが構成されている場合、サーバのキープアライブ設定が優先されます。その結果、キープアライブですでに接続されているサーバに HTTP 要求が送信されます。
ロード バランサ ルールの条件を満たしたときに転送ルールを常に優先する場合は、キープアライブ設定を無効にします。
パーシステンス設定はキープアライブ設定よりも優先されることに注意してください。
処理は、パーシステンス、キープアライブ、ロード バランサ ルールの順序で行われます。
http_forward.select_pool:サーバ プールの UUID
変数パーシステンス検査 汎用パーシステンス プロファイルを選択し、変数名を入力します。 また、[ハッシュ変数] を有効にすることもできます。変数の値が長い場合、変数のハッシュ値を使用することで、変数をパーシステンス テーブルに正しく格納できます。[ハッシュ変数] が有効になっていない場合、長い変数値は、固定プレフィックス部分のみがパーシステンス テーブルに格納されます。その結果、プレフィックス部分が同じ変数値が複数存在すると、異なるバックエンド サーバにディスパッチするときに、長い変数値を含む 2 つの異なる要求が同じバックエンド サーバにディスパッチされる場合があります。
接続ドロップ 条件で否定が有効になっているときに、接続ドロップを構成すると、条件に一致しないすべての要求がドロップされます。条件に一致する要求は許可されます。
応答の状態 応答の状態を表示します。 応答メッセージ サーバは、確認済みのアドレスと構成が含まれる応答メッセージを返します。 - [保存]、[適用] の順にクリックします。