AppExpert

例 8: クエリーをクエリーされたサーバーにリダイレクトする

Example Inc. は、次に示すように、クエリ要求を適切なサーバーにリダイレクトしたいと考えています。

  • <Request: GET /query.cgi?server=5HOST: www.example.com
  • <Redirect URL: <http://web-5.example.com/>

このリダイレクトを実装するには、まず次の表の値を使用して書き換えアクションを作成します。

アクション名 書き換えアクションのタイプ ターゲット参照を選択する式 置換テキストの文字列式
Action-Rewrite-Replace_Hostheader REPLACE HTTP.REQ.HEADER(“Host”).BEFORE_STR(“.example.com”) “server-“ + HTTP.REQ.URL.QUERY.VALUE(“web”)

次に、次の表の値を使用して書き換えポリシーを作成します。

ポリシー名 アクション名 未定義のアクション
Policy-Rewrite-Replace_Hostheader Action-Rewrite-Replace_Hostheader NOREWRITE HTTP.REQ.HEADER("Host").EQ("www.example.com")

コマンドの例:

> add rewrite action Action-Rewrite-Server_Mask REPLACE HTTP.RES.HEADER("Server") "\"Web Server 1.0\"" Done

> add rewrite policy Policy-Rewrite-Server_Mask HTTP.RES.IS_VALID Action-Rewrite-Server_Mask NOREWRITE Done

最後に、書き換えポリシーをバインドし、優先度 900 を割り当てます。このポリシーは、条件に一致するリクエストに最後に適用されたポリシーである必要があるため、goto 式を END に設定します。

<http://www.example.com/query.cgi?server>=で始まる任意の URL への着信要求 は、クエリのサーバー番号にリダイレクトされます。

例 8: クエリーをクエリーされたサーバーにリダイレクトする