要求転送により、URL またはホストが特定のサーバ プールにリダイレクトされます。

前提条件

レイヤー 7 HTTP 仮想サーバが使用できることを確認します。レイヤー 7 HTTP 仮想サーバの追加 を参照してください。

ロード バランサのルールは、一致のタイプとして正規表現をサポートします。高度な使用方法ではいくつかの制限がありますが、PCRE スタイルの正規表現パターンがサポートされています。一致条件に正規表現を使用する場合、名前付きキャプチャ グループがサポートされます。ロード バランサ ルールの正規表現を参照してください。

手順

  1. レイヤー 7 HTTP 仮想サーバを開きます。
  2. [要求の転送] > [ルールの追加] の順にクリックし、HTTP 要求の転送にロード バランサ ルールを構成します。
  3. ドロップダウン リストから一致条件を選択します。一致条件は、ロード バランサを通過するアプリケーション トラフィックを照合する際に使用されます。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 本文の値を比較するときに大文字と小文字が区別されます。
  4. アクションを選択します。
    アクション 説明
    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 つの異なる要求が同じバックエンド サーバにディスパッチされる場合があります。

    接続ドロップ

    条件で否定が有効になっているときに、接続ドロップを構成すると、条件に一致しないすべての要求がドロップされます。条件に一致する要求は許可されます。

    応答の状態 応答の状態を表示します。
    応答メッセージ サーバは、確認済みのアドレスと構成が含まれる応答メッセージを返します。
  5. [保存][適用] の順にクリックします。