301/302リダイレクト機能は、配信元サーバーから返されるHTTP 301と302ステータスコードをサポートします。 301/302リダイレクトを設定した後、Alibaba Cloud CDNポイントオブプレゼンス (POP) は、ステータスコードをクライアントに返す代わりに、オリジンサーバーから返されたHTTP 301または302ステータスコードを処理します。 これにより、リクエスト処理が簡素化され、コンテンツ配信が高速化されます。
前提条件
301/302リダイレクトはオリジンサーバーで有効になっています。
背景情報
301および302はHTTPステータスコードであり、既存のリソースが再配置され、リクエストがリソースにアクセスできなかったことを示します。 ほとんどの場合、サーバーはこの問題を解決するためにLocationヘッダーをレスポンスヘッダーに追加します。 クライアントがHTTP 301または302ステータスコードとLocationヘッダーを含む応答を受信すると、リクエストはLocationヘッダーで指定されたアドレスにリダイレクトされ、リソースが取得されます。
制御ポリシー機能の動作
POPがオリジンサーバーにリクエストをリダイレクトし、オリジンサーバーからHTTP 301または302ステータスコードを受信すると、POPはステータスコードを処理します。 リクエストは、リソースを取得するためにオリジンサーバーから返されたLocationヘッダーで指定されたアドレスにリダイレクトされます。 この場合、HTTP 301または302ステータスコードはクライアントに返されません。
ユーザーはPOPから
http://example.com/examplefile.txt
を要求します。要求されたファイルはPOPにキャッシュされません。 POPはリクエストをオリジンサーバーにリダイレクトします。
オリジンサーバーはリクエストを受信し、HTTP 301または302ステータスコードを返します。 応答ヘッダは、アドレス
http://www.example.org/examplefile.txt
を指定する位置ヘッダを搬送します。POPは応答を受信し、要求を
http://www.example.org/examplefile.txt
にリダイレクトします。POPは、ファイルを取り出してキャッシュします。
POPは、検索されたファイルをユーザに返します。
他のユーザーが http://example.com/examplefile.txt
を要求した場合、ファイルはPOPから直接提供されます。
使用上の注意
高速化ドメイン名の301/302リダイレクトを設定する前に、オリジンホストがドメイン名に設定されているかどうかを確認してください。 詳細については、「オリジンホストの設定」をご参照ください。
ドメイン名に既定のオリジンホストまたは特定のオリジンホストが設定されていない場合: オリジンサーバーがHTTP 301または302ステータスコードと、POPへのURLを指定するLocationヘッダーを返すと、リクエストはLocationヘッダーで指定されたURLにリダイレクトされます。 リクエストのHostヘッダーの値は、Locationヘッダーで指定されたドメイン名です。
オリジンホストが設定されている場合: オリジンサーバーがHTTP 301または302ステータスコードと、CDN POPへのURLを指定するLocationヘッダーを返すと、リクエストのhostヘッダーの値は、高速化ドメイン名に設定されているHostヘッダーになります。 デフォルトでは、Hostヘッダーの値は高速化ドメイン名です。 back-to-originリクエストのHostヘッダーの値がLocationヘッダーで指定されたドメイン名である必要がある場合、エラーが発生します。 ただし、そのような要件がある場合は、チケットを起票してください。 チケットの起票方法の詳細については、「お問い合わせ」をご参照ください。
手順
ApsaraVideo VODコンソールにログインします。
左側のナビゲーションウィンドウで、[設定管理]> [CDN設定]> [ドメイン名] を選択します。
[ドメイン名] ページで、管理するドメイン名を見つけ、[操作] 列の [設定] をクリックします。
指定したドメイン名の左側のナビゲーションウィンドウで、Back-to-Originをクリックします。
[設定] タブで、[301/302リダイレクト] セクションで [301/302リダイレクト] をオンにし、パラメーターを設定します。
パラメーター
説明
301/302 追跡回数上限
POPが各リクエストのLocationヘッダーで指定されたアドレスにリクエストをリダイレクトできる最大回数。 このパラメーターの値を超えると、HTTP 301または302ステータスコードがユーザーに返されます。 有効な値: 1 ~ 5。 デフォルト値:2
説明301/302リダイレクトの最大数によって、POPによってオリジンサーバーにリダイレクトできるback-to-originリクエストの数が決まります。
back-to-originリクエストの最大数=301/302リダイレクトの最大数 + 1。 この場合、back-to-originリクエストのデフォルトの最大数は3です。 有効な値: 2〜6。
301/302 追跡のパラメーター保持
On: 301/302リダイレクトでは、オリジンサーバーにリダイレクトされたリクエストのパラメーターが保持されます。 リクエストパラメーターは、Locationヘッダーで指定されたサーバーに渡されます。
オフ: 301/302リダイレクトでは、オリジンサーバーにリダイレクトされたリクエストのパラメーターは保持されません。
301/302 追跡のリクエストヘッド保持
On: 301/302リダイレクトでは、オリジンサーバーにリダイレクトされたリクエストのヘッダーが保持されます。 ヘッダーパラメーターは、Locationヘッダーで指定されたサーバーに渡されます。
オフ: 301/302のリダイレクトでは、オリジンサーバーにリダイレクトされたリクエストのヘッダーは保持されません。
[OK] をクリックします。
設定例
サンプルシナリオ: オリジンサーバー上のリソースが再配置されています。 ユーザーが元のドメイン名を使用してリソースを要求する場合。 このようにして、ユーザー向けの変更を行う必要はありません。
設定: ドメインnam e example.comの301/302リダイレクトを有効にします。 次のコンテンツは、設定について説明します。
301/302リダイレクトの最大数: 2
301/302リダイレクトでパラメーターを保持する: いいえ
301/302リダイレクトでリクエストヘッダーを保持する: いいえ
期待される結果: POPにキャッシュされていないファイル http://example.com/examplefile.txt
をユーザーが要求します。 POPは、元のリクエストパラメーターとヘッダーが保持されたリクエストをオリジンサーバーにリダイレクトします。 オリジンサーバーはリクエストを受信し、HTTP 301または302ステータスコードとファイル http://www.example.org/examplefile.txt
のURLをPOPに返します。
POPは、HTTP 301または302ステータスコードを受信し、オリジンサーバーによって提供されるURLにリクエストをリダイレクトします。 [最大301/302リダイレクト] パラメーターは2に設定されています。これは、リクエストを最大2回リダイレクトできることを示します。 リクエストが失敗した場合、HTTP 301または302ステータスコードがユーザーに返されます。
POPは、要求されたファイルを取得し、ファイルをユーザーに返し、ファイルをキャッシュします。
他のユーザがファイル
http://example.com/examplefile.txt
を要求する場合、ファイルはPOPから直接供給されます。