すべてのプロダクト
Search
ドキュメントセンター

CDN:301/302リダイレクトの設定

最終更新日:Jan 24, 2024

301/302リダイレクト機能は、配信元サーバーから返されるHTTP 301と302ステータスコードをサポートします。 このトピックのHTTP 302ステータスコードでサポートされているすべての機能は、HTTP 301ステータスコードでサポートされています。 301/302リダイレクトを設定した後、POP (Point of presence) は、ステータスコードをクライアントに返す代わりに、配信元サーバーから返されたHTTP 301または302ステータスコードを処理します。 これにより、リクエスト処理が簡素化され、コンテンツ配信が高速化されます。

前提条件

301/302リダイレクトはオリジンサーバーで有効になっています。

背景情報

301および302はHTTPステータスコードであり、既存のリソースが再配置され、リクエストがリソースにアクセスできなかったことを示します。 ほとんどの場合、サーバーはこの問題を解決するためにLocationヘッダーをレスポンスヘッダーに追加します。 クライアントがHTTP 301または302ステータスコードとLocationヘッダーを含む応答を受信すると、リクエストはLocationヘッダーで指定されたアドレスにリダイレクトされ、リソースが取得されます。

制御ポリシー機能の動作

POPがオリジンサーバーにリクエストをリダイレクトし、オリジンサーバーからHTTP 301または302ステータスコードを受信すると、POPはステータスコードを処理します。 リクエストは、リソースを取得するためにオリジンサーバーから返されたLocationヘッダーで指定されたアドレスにリダイレクトされます。 この場合、HTTP 301または302ステータスコードはクライアントに返されません。

image

  1. ユーザーはPOPからhttp://example.com/examplefile.txtを要求します。

  2. 要求されたファイルはPOPにキャッシュされません。 POPはリクエストをオリジンサーバーにリダイレクトします。

  3. オリジンサーバーはリクエストを受信し、HTTP 301または302ステータスコードを返します。 応答ヘッダは、アドレスhttp://www.example.org/examplefile.txtを指定する位置ヘッダを搬送する。

  4. POPは応答を受信し、要求をhttp://www.example.org/examplefile.txtにリダイレクトします。

  5. POPは、ファイルを取り出してキャッシュする。

  6. POPは、検索されたファイルをユーザに返す。

他のユーザーがhttp://example.com/examplefile.txtを要求した場合、ファイルはPOPから直接提供されます。

使用上の注意

高速化ドメイン名の301/302リダイレクトを設定する前に、デフォルトのオリジンホストまたは特定のオリジンホストがドメイン名に設定されているかどうかを確認してください。 詳細については、「デフォルトのオリジンホストの設定」および「各オリジンのオリジンホストの指定」をご参照ください。

  • ドメイン名に既定のオリジンホストまたは特定のオリジンホストが設定されていない場合: オリジンサーバーがHTTP 301または302ステータスコードと、POPへのURLを指定するLocationヘッダーを返すと、リクエストはLocationヘッダーで指定されたURLにリダイレクトされます。 リクエストのHostヘッダーの値は、Locationヘッダーで指定されたドメイン名です。

  • 既定のオリジンホストがドメイン名に設定されている場合: オリジンサーバーがHTTP 301または302ステータスコードと、POPへのURLを指定するLocationヘッダーを返すと、リクエストのhostヘッダーの値は、高速化ドメイン名に設定されているHostヘッダーになります。 back-to-originリクエストのHostヘッダーの値としてLocationヘッダーで指定されたドメイン名を使用すると、エラーが発生します。 Alibaba Cloud CDN でこのシナリオをサポートする場合は、各オリジンサーバーのオリジンホストを指定する必要があります。

  • 配信元サーバーから返されるLocationヘッダーは、次の形式にすることができ

    • 場所: http://www.example.net/index.html。 POPは、Locationヘッダーで指定された完全なURLにリクエストをリダイレクトします。

    • 場所: // www.example.net/index.html POPは、元の要求が使用するプロトコルとLocationヘッダーの値を含むURLに要求をリダイレクトします。

    • 場所: /index.html POPは、元のリクエストが使用するプロトコルとドメイン名、およびLocationヘッダーの値を含むURLにリクエストをリダイレクトします。

手順

  1. Alibaba Cloud CDNコンソール

  2. 左側のナビゲーションウィンドウで、ドメイン名 をクリックします。

  3. [ドメイン名] ページで、管理するドメイン名を見つけて、アクション 列の 管理 をクリックします。

  4. ドメイン名の左側のナビゲーションツリーで、Back-to-Origin 設定 をクリックします。

  5. [設定] タブで、Back-to-origin 301/302 同期 セクションを見つけます。

  6. Back-to-origin 301/302 同期をオンにします。

  7. 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のリダイレクトでは、オリジンサーバーにリダイレクトされたリクエストのヘッダーは保持されません。

  8. OK をクリックします。

サンプル設定

サンプルシナリオ: オリジンサーバー上のリソースが再配置されています。 ユーザーが元のドメイン名を使用してリソースを要求する場合。 このようにして、ユーザー向けの変更を行う必要はありません。

設定: ドメインnam e example.comの301/302リダイレクトを有効にします。 次の図は、設定を示しています。回源

期待される結果: POPにキャッシュされていないファイルhttp://example.com/examplefile.txtをユーザーが要求します。 POPは、元のリクエストパラメーターとヘッダーが保持されたリクエストをオリジンサーバーにリダイレクトします。 オリジンサーバーはリクエストを受信し、HTTP 301または302ステータスコードとファイルhttp://www.example.org/examplefile.txtのURLをPOPに返します。

  1. POPは、HTTP 301または302ステータスコードを受信し、オリジンサーバーによって提供されるURLにリクエストをリダイレクトします。 [最大301/302リダイレクト] パラメーターは2に設定されています。これは、リクエストを最大2回リダイレクトできることを示します。 リクエストが失敗した場合、HTTP 301または302ステータスコードがユーザーに返されます。

  2. POPは、要求されたファイルを取得し、ファイルをユーザーに返し、ファイルをキャッシュします。

  3. 他のユーザがファイルhttp://example.com/examplefile.txtを要求する場合、ファイルはPOPから直接供給される。