AppExpert

例 5: 外部 URL を内部 URL にリダイレクトする

Example Inc. は、Web サーバーのセキュリティを向上させるために、実際のサーバールーム設定をユーザーから隠したいと考えています。

これを行うには、次の表に示すように、値を使用して書き換えアクションを作成します。リクエストヘッダーの場合、テーブル内のアクションはwww.example.comを web.hq.example.netに変更します。レスポンスヘッダーの場合、アクションは逆のことを行い、web.hq.example.netwww.example.com に変換します。

アクション名 書き換えアクションのタイプ ターゲット参照を選択する式 置換テキストの文字列式
Action-Rewrite-Request_Server_Replace REPLACE HTTP.REQ.HOSTNAME.SERVER 「Web.hq.example.net」
Action-Rewrite-Response_Server_Replace REPLACE HTTP.RES.HEADER(“Server”) “www.example.com”

最初のポリシーでは、受信した要求が検証され、有効な場合は、Action-Rewrite-Request_Server_Replace アクションが実行されます。2 番目のポリシーでは、応答がサーバweb.hq.example.netから発信されているかどうかを確認します。その場合は、アクション-書き換え-応答_サーバー_置換アクションを実行します。

書き換えアクションと外部 URL をリダイレクトするためのポリシーの例。

add rewrite action Action-Rewrite-Request_Server_Replace REPLACE HTTP.REQ.HOSTNAME.SERVER '"Web.hq.example.net"

add rewrite action Action-Rewrite-Response_Server_Replace REPLACE HTTP.RES.HEADER("Server") '"www.example.com"'

add rewrite policy Policy-Rewrite-Request_Server_Replace HTTP.REQ.HOSTNAME.SERVER.EQ("www.example.com") Action-Rewrite-Request_Server_Replace NOREWRITE

add rewrite policy Policy-Rewrite-Response_Server_Replace HTTP.REQ.HEADER("Server").EQ("Web.hq.example.net") Action-Rewrite-Response_Server_Replace

最後に、書き換えポリシーをバインドし、それぞれに優先度 500 を割り当てます。これは、書き換えポリシーが異なるポリシーバンクにあり、競合しないためです。両方のバインディングに対してgoto式をNEXTに設定する必要があります。

bind rewrite global Policy-Rewrite-Request_Server_Replace 500 END -type REQ_DEFAULT

bind rewrite global Policy-Rewrite-Response_Server_Replace 500 END -type RES_DEFAULT

リクエストヘッダーのwww.example.comのすべてのインスタンスはweb.hq.example.netに変更され、レスポンスヘッダーのweb.hq.example.netのすべてのインスタンスはwww.example.comに変更されました。

例 5: 外部 URL を内部 URL にリダイレクトする