301/302 リダイレクトフォロー機能は、オリジンサーバーからの HTTP 301 および 302 状態コードをサポートしています。Edge Security Acceleration(ESA)のポイント オブ プレゼンス(POP)は、ユーザーに代わってこれらの状態コードを処理し、データのやり取りを減らし、リソースの取得を高速化します。
前提条件
オリジンサーバーは、リクエストをリダイレクトするために HTTP 301 および 302 状態コードを使用します。
301 と 302 とは
HTTP 301 および 302 は、リソースの場所が変更されたことを示す状態コードであり、元のアドレスからアクセスできなくなっています。
このような場合、サーバーは 301 または 302 状態コードと、新しいアドレスを示す Location ヘッダーを返します。クライアントはこの応答を受信すると、新しいアドレスへのリクエストをリダイレクトしてリソースにアクセスします。
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 はオリジンサーバーにファイルをリクエストします。
オリジンサーバーはリクエストを受信すると、ESA POP に HTTP 301 または 302 状態コードを返し、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 です。
元のリクエストパラメータ: リダイレクトされたリクエストをオリジンサーバーに転送するときに、機能が元のリクエストパラメータを保持するかどうかを指定します。
元のリクエストヘッダー: リダイレクトされたリクエストをオリジンサーバーに転送するときに、機能が元のリクエストヘッダーを保持するかどうかを指定します。
ターゲット Host: ESA POP がリダイレクトフォローリクエストを開始すると、Host ヘッダーの値は次のルールに従います。
Location ヘッダーのオリジンサーバーの形式に関係なく、ここで設定されたドメイン名が Host ヘッダー値として使用されます。
サーバー応答の Location ヘッダーのオリジンがドメイン名の場合、Host ヘッダー値はオリジンのドメイン名と同じになります。
サーバー応答の Location ヘッダーのオリジンが IP アドレスの場合、Host ヘッダー値は元のリクエストの Host ヘッダー値と同じになります。
OK をクリックします。