データをObject Storage Service (OSS) に移行した後、ユーザーがOSSに移行されていない増分データにアクセスできるようにリダイレクトを設定できます。 バケットにリダイレクトベースのback-to-originルールを設定した後、ユーザーがバケット内の存在しないオブジェクトにアクセスすると、OSSはルールで指定されたオリジンにアクセス要求をリダイレクトします。
制限事項
back-to-originルールの数
1つのバケットに最大20個のback-to-originルールを設定できます。 OSSは、RuleNumberの値に基づいて、back-to-originルールを順番に照合します。 back-to-originルールが一致した場合、後続のルールは無視されます。 OSSは、リクエストがルールで指定された条件を満たすかどうかに基づいて、リクエストがback-to-originルールに一致するかどうかを判断します。 OSSは、要求されたオブジェクトがオリジンサーバーから取得できるかどうかをチェックしません。
オリジンURL
内部エンドポイントをオリジンURLとして使用することはできません。
ワークフロー
リダイレクトベースのback-to-origin機能を使用すると、指定されたback-to-origin条件とリダイレクト設定に基づいて、リダイレクト応答とHTTPステータスコード3xxを返すことができます。 次の図は、リダイレクトベースのback-to-originの動作を示しています。
シナリオ
他のデータソースからOSSへのシームレスなデータ移行
リダイレクションベースのback-to-origin機能を使用してクライアントからOSSにデータを非同期に移行する場合、OSSは、OSSに移行されていないデータのURL書き換えを使用して、302リダイレクトリクエストを返します。 その後、クライアントは、302リダイレクションリクエストのLocation値に基づいて、データソースからデータを読み取ることができます。
ページのリダイレクト
たとえば、特定のプレフィックスで始まるオブジェクトを非表示にして、特別なページを要求者に返すとします。
404または500のエラーに対するページのリダイレクト
404または500エラーが発生した場合、要求者に対して事前設定されたページが表示されます。 このように、システムエラーは要求者に完全にはさらされません。
OSSコンソールの使用
リクエスタがバケットへのアクセスを要求したときに指定されたエラーが発生した場合、オリジンおよびback-to-origin条件でオブジェクトのURLを指定して、アクセスをオリジンにリダイレクトできます。 たとえば、中国 (杭州) リージョンのexamplebucketバケットのルートディレクトリにexamplefolderディレクトリがあるとします。 バケットのディレクトリに存在しないオブジェクトのリクエストを、https://www.example.com/
でホストされているexamplefolderフォルダーにリダイレクトします。
OSSコンソールにログインします。
左側のナビゲーションウィンドウで、バケットリスト をクリックします。 [バケット] ページで、目的のバケットを見つけてクリックします。
左側のナビゲーションツリーで、 を選択します。
[ミラーリングベースのBack-to-origin] ページで、[ルールの作成] をクリックします。
[ルールの作成] パネルで、必要なパラメーターを設定し、他のパラメーターのデフォルト設定を保持します。
パラメーター
説明
メソッド
[リダイレクト] を選択します。
条件
[HTTPステータスコード] を選択し、HTTPステータスコードを404に設定します。
HTTPステータスコードの有効値: 400〜599。 HTTPステータスコードの詳細については、「概要」をご参照ください。
[オブジェクト名プレフィックス] を選択し、値をexamplefolder/ に設定します。
説明ファイル名プレフィックスとファイル名サフィックスはオプションです。 複数のback-to-originルールを設定する場合、back-to-originルールを区別するために、異なるファイル名のプレフィックスまたはサフィックスを設定する必要があります。
オリジンURL
[プレフィックスまたはサフィックスの追加] を選択します。 最初のボックスでhttpsを選択し、2番目のボックスにwww.example.comを入力し、他のボックスは空のままにします。
[OK] をクリックします。
次の内容は、前のback-to-originルールが設定された後のアクセスプロセスを示しています。
リクエスタは、初めて
https://examplebucket.oss-cn-hangzhou.aliyuncs.com/examplefolder/example.txt
を要求する。examplefolder/example.txtオブジェクトがexamplebucketに存在しない場合、OSSはHTTP 301ステータスコードをリクエスタに返し、リダイレクトの
https://www.example.com/examplefolder/example.txt
を提供します。リクエスタは
https://www.example.com/examplefolder/example.txt
にアクセスする。
次の表に、さまざまなシナリオに設定できるパラメーターを示します。
シナリオ
Parameters
オブジェクト名のプレフィックスは、原点にあるオブジェクトの名前のプレフィックスとは異なります。
[ファイルプレフィックスの置換または削除] を選択し、[オリジンURL] の3番目のボックスに値を入力します。 OSSは、オブジェクト名プレフィックスの値をオリジンURLの3番目のボックスの値に置き換えます。
このパラメーターは、オブジェクト名プレフィックスが設定されている場合にのみ設定できます。
OSSからのリクエストに含まれるクエリ文字列をオリジンに転送します。
[クエリ文字列で転送] を選択します。
リダイレクトのHTTPステータスコードを変更します。
リダイレクトのデフォルトのHTTPステータスコードは301です。 [コードのリダイレクト] ドロップダウンリストから302または307を選択して変更できます。
リダイレクト要求はAlibaba Cloud CDNからのものです。
[Alibaba Cloud CDNからのソース] を選択するかどうかを決定します。
Alibaba Cloud CDNからのリダイレクトリクエストの場合: [Alibaba Cloud CDNからのソース] を選択すると、CDNはリダイレクションルールに基づいてリクエストされたコンテンツを取得します。 [Alibaba Cloud CDNのソース] を選択しない場合、CDNはクライアントへのリダイレクト用のURLを返します。