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

Object Storage Service:Access-Control-Allow-originをアスタリスク (*) にできないことを示すクロスオリジンリクエストエラーを修正するにはどうすればよいですか?

最終更新日:Feb 21, 2024

問題の説明

Access-Control-Allow-Originは、Object Storage Service (OSS) バケットのクロスオリジンリソース共有 (CORS) ルールでアスタリスク (*) に設定され、Access-Control-Allow-Credentialsはフロントエンドコードでtrueに設定されます。 バケット内のオブジェクトに対するクロスオリジンリクエストに対して、次のエラーが返されます。

プリフライト要求に対する
応答はアクセス制御チェックに合格しません: 要求の資格情報モードが「include」の場合、応答の「access-control-Allow-Origin」ヘッダーの値はワイルドカード「 * 」であってはなりません。

発生原因

ブラウザーのセキュリティポリシーでAccess-Control-Allow-Credentialsをtrueに設定する必要がある場合、Access-Control-Allow-Originをアスタリスク (*) に設定することはできません。 これにより、他のすべてのドメインからのドメインへのアクセスや、Cookie、Authorizationヘッダー情報、その他の機密情報などの資格情報の漏洩が防止されます。

ソリューション

  • クロスオリジンリクエストに資格情報を含める場合は、Access-Control-Allow-origin設定を * からhttps://example.comなどの特定のオリジンURLに変更します。 詳細については、「CORS」をご参照ください。

  • クロスオリジンリクエストに資格情報を含めたくない場合は、コードでAccess-Control-Allow-credentialsをfalseに設定します。 サンプルコード:

    xhr.withCredentials = false