301/302 リダイレクトフォロー機能は、オリジンサーバーからの HTTP 301 および 302 ステータスコードをサポートします。Edge Security Acceleration (ESA) の Point of Presence (POP) がユーザーに代わってこれらのステータスコードを処理することで、データインタラクションを削減し、リソースのフェッチを高速化します。
前提条件
オリジンサーバーが HTTP 301 および 302 ステータスコードを使用してリクエストをリダイレクトすること。
301 と 302 について
HTTP 301 は恒久的なリダイレクトを示し、HTTP 302 は一時的なリダイレクトを示します。どちらのステータスコードにも、クライアントを新しいリソースアドレスに誘導する Location ヘッダーが含まれています。クライアントが 301 または 302 ステータスコードを含むレスポンスを受信すると、リクエストを新しいアドレスにリダイレクトしてリソースにアクセスします。
301/302 リダイレクトの仕組み
ESA の POP がオリジンサーバーから HTTP 301 または 302 ステータスコードを受信すると、ユーザーに代わってレスポンスを処理します。POP は、HTTP 301 または 302 ステータスコードをユーザーに返す代わりに、オリジンサーバーからの HTTP 301 または 302 レスポンスの Location ヘッダーで指定されたアドレスから直接リソースをフェッチします。
以下の図は、そのプロセスを示しています。
ユーザーが ESA の POP にリクエストを送信し、
http://example.com/examplefile.txtファイルにアクセスします。ESA の POP にファイルがキャッシュされていません。POP はオリジンサーバーにファイルをリクエストします。
オリジンサーバーがリクエストを受信すると、HTTP 301 または 302 ステータスコードを ESA の POP に返し、Location ヘッダーは
http://www.example.org/examplefile.txtを指します。ESA の POP がオリジンサーバーからレスポンスを受信した後、Location ヘッダーで指定されたアドレス
http://www.example.org/examplefile.txtに直接リクエストを送信します。ESA の POP が必要なリソースを取得した後、そのリソースをキャッシュします。
ESA の POP はリソースをユーザーに返します。
後続のユーザーが http://example.com/examplefile.txt ファイルをリクエストした場合、リクエストは ESA の POP のキャッシュにヒットし、ファイルは直接ユーザーに返されます。
サポートされるヘッダー形式
オリジンサーバーが ESA の POP に返す HTTP 301 または 302 レスポンスの Location ヘッダーは、次の 2 つの形式をサポートしています。
標準ドメイン名形式:
http://www.example.net/index.htmlIPv4 アドレス形式:
http://10.10.10.10/index.html
元のリクエストヘッダーが保持されるかどうかに関わらず、リダイレクトフォローリクエスト中、Host ヘッダーは変更されません。
リダイレクトルールの設定
ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のウェブサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
ルールを追加 をクリックし、ルール名 を入力します。
リクエストが以下のルールと一致する場合... セクションで、一致させるリクエストの特性を設定します。ルールの設定方法の詳細については、「ルール式のコンポーネント」をご参照ください。
[次に実行...] セクションで、機能の横にある [設定] をクリックし、[最大リダイレクト数] をオンにして、機能を設定します。

[最大リダイレクト数]:1 回のユーザーリクエスト中に ESA の POP が Location ヘッダーに従ってリクエストをリダイレクトできる最大回数です。
この制限を超えると、HTTP 301/302 ステータスコードが直接ユーザーに返されます。有効な値は 1~5 です。デフォルト値は 2 です。
説明最大リダイレクト数は、POP がオリジンサーバーにリダイレクトフェッチリクエストを送信できる回数の上限も決定します。
この上限は、1 回のユーザーリクエスト中に ESA の POP がオリジンにアクセスできる回数を指します。
これは、301/302 リダイレクトの最大数に 1 を加算して計算されます。デフォルトの最大値は 3 で、有効な値の範囲は 2~6 です。
[元のリクエストパラメーター]:リダイレクトされたリクエストをオリジンサーバーに転送する際に、元のリクエストパラメーターを保持するかどうかを指定します。
[元のリクエストヘッダー]:リダイレクトされたリクエストをオリジンサーバーに転送する際に、元のリクエストヘッダーを保持するかどうかを指定します。
[ターゲットホスト]:ESA の POP がリダイレクトフォローリクエストを開始する際、Host ヘッダーの値は次のルールに従います。
ここで設定されたドメイン名は、Location ヘッダー内のオリジンサーバーの形式に関係なく、Host ヘッダーの値として使用されます。
サーバーレスポンスの Location ヘッダー内のオリジンがドメイン名の場合、Host ヘッダーの値はオリジンのドメイン名と同じになります。
サーバーレスポンスの Location ヘッダー内のオリジンが IP アドレスの場合、Host ヘッダーの値は元のリクエストの Host ヘッダーの値と同じになります。
OK をクリックします。
関連ドキュメント
ルール関連の機能は、実行優先度、ルールの動作、設定範囲が異なります。詳細については、「ESA ルールの有効化の仕組み」をご参照ください。