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

Object Storage Service:CDN back-to-originフェッチのためにOSSによって報告されたエラーでバケットドメイン名を非表示にするにはどうすればよいですか。

最終更新日:Feb 22, 2024

Alibaba Cloud CDNまたは別のCDNサービスからObject Storage service (OSS) バケットへのback-to-originフェッチリクエストでエラーが発生した場合、OSSはバケットのドメイン名を含むエラーメッセージを返します。 バケットドメイン名は機密情報の一部であり、その公開によりバケットのセキュリティリスクが高まります。

発生原因

CDNサービスからのOSSバケット内のオブジェクトのback-to-originフェッチリクエストでは、リクエストのHostヘッダーのデフォルト値はバケットのドメイン名です。 無効なback-to-originフェッチリクエストに対してOSSから返されるエラー情報には、リクエストで送信されたHostヘッダーの値が含まれています。

次の図は、バケットのデフォルトのオリジンホスト設定の例を示しています。

2.png

たとえば、要求されたオブジェクトが存在しない場合、OSSはバケットのドメイン名を含む404エラーを返します。 OSSには、返されたエラーコードに関係なく、失敗したリクエストのバケットのドメイン名が含まれます。

404エラーの例を次の図に示します。

1.png

ソリューション

警告

back-to-origin設定でオリジンホストを変更する前に、高速化ドメイン名とバケット間のマッピングが完了していること、およびCDNがバケットからデータを取得できることを確認してください。 マッピングが完了していないときにオリジンホストを変更した場合、OSSは未知のホスト値でリクエストを処理できません。 これにより、バケットへのback-to-originフェッチ要求が失敗します。 詳細については、「Map accelerated domain names」をご参照ください。

オリジンホストを高速化ドメイン名に変更します。 このように、back-to-originフェッチエラーが発生した場合、OSSはバケットのドメイン名ではなく、高速化ドメイン名をエラー情報に含めます。

詳細については、「デフォルトの送信元ホストの設定」をご参照ください。

変更されたオリジンホストの例を次の図に示します。

3.pngback-to-originフェッチリクエストのエラー例を次の図に示します。

4.png

参考資料

Nginxリバースプロキシを設定する場合など、他のビジネスシナリオでは、オリジンホストを変更してバケットドメイン名を非表示にすることもできます。 詳細については、「ECSインスタンスを使用してOSSにアクセスするためのリバースプロキシを設定する」をご参照ください。