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

Object Storage Service:cors-オプション

最終更新日:Dec 23, 2024

クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするためにHTML5によって提供される標準のクロスオリジンソリューションです。 これにより、オリジン間のデータ伝送のセキュリティが確保されます。 cors-optionsコマンドを実行して、HTTP OPTIONSリクエストをObject Storage Service (OSS) に送信し、特定のクロスオリジンリクエストが許可されているかどうかを確認できます。

説明
  • ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。

  • CORSの詳細については、「cors」をご参照ください。

コマンド構文

ossutil cors-options oss://bucketname/[objectname]
[--acr-method <value>]
[--origin <value>]
[--acr-headers <value>] 

次の表に、上記のパラメーターとオプションを示します。

パラメータ /オプション

説明

bucketname

アクセスするバケットの名前。

オブジェクト名

アクセスするオブジェクトの名前。

-- acr-method

リクエストで使用できるメソッド。 このパラメーターは、Access-Control-Request-Methodに対応します。 有効な値は、GETPUTPOSTDELETE、およびHEADです。

-- 起源

クロスオリジンリクエストを許可するオリジン。 例: http://www.aliyun.com

-- acr-headers

単純なヘッダーを除いて、リクエストで使用できるヘッダー。 このパラメーターは、Access-Control-Request-Headersに対応します。 リクエストには複数のヘッダーを指定できます。 複数のヘッダーはコンマ (,) で区切ります。 例: -- acr-headers "header1,header2,header3"

次のコマンドを実行して、examplebucketバケットが http://www.aliyun.com からPUTを使用するクロスオリジンリクエストを許可するかどうかを確認します。

ossutil cors-options --acr-method  put --origin "http://www.aliyun.com" oss://examplebucket

examplebucketがクロスオリジンリクエストを許可する場合、同様の出力が表示されます。

Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 0

0.079520(s) elapsed

examplebucketがクロスオリジンリクエストを拒否した場合も、同様の出力が表示されます。

Error: oss: service returned error: StatusCode=403, ErrorCode=AccessForbidden, ErrorMessage="CORSResponse: This CORS request is not allowed. This is usually
 because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource's CORS
 spec.", RequestId=60F7F55F553DA2363138****

一般的なオプション

たとえば、次のコマンドを実行して、examplebucketバケットのsrcfolderディレクトリをtestbucketバケットのexamplefolderディレクトリに同期できます。 examplebucketバケットは中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有しています。

ossutil sync oss://examplebucket/srcfolder/  oss://testbucket/examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

たとえば、次のコマンドを実行して、testbucketという名前のバケットがPUT from http://www.alibabacloud.com を使用するクロスオリジンリクエストを許可するかどうかを確認できます。 このバケットは中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有しています。

ossutil cors-options --acr-method  put --origin "http://www.alibabacloud.com" oss:/testbucket -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

共通オプションの詳細については、「共通オプション」をご参照ください。