クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするために、HTML5によって提供される標準のクロスオリジンソリューションです。 このようにして、起点を越えたデータ伝送のセキュリティが保証される。 cors-optionsコマンドを実行して、HTTP OPTIONSリクエストをObject Storage Service (OSS) に送信し、特定のクロスオリジンリクエストが許可されているかどうかを確認できます。
このトピックでは、サンプルのコマンドラインは64ビットLinuxシステムに基づいています。 他のシステムの場合は、を交換します。対応するバイナリ名を持つコマンドの /ossutil64。 詳細については、「ossutilの使用を開始する」をご参照ください。
CORSの設定方法の詳細については、「cors」をご参照ください。
コマンド構文
. /ossutil64 cors-options oss:// bucketname/[objectname]
[-- acr-method <value>]
[-- origin <value>]
[-- acr-headers <value>]
次の表に、cors-optionsコマンドを実行するときに設定できるパラメーターを示します。
パラメーター | 説明 |
bucketname | アクセスするバケットの名前。 |
オブジェクト名 | アクセスするオブジェクトの名前。 |
-- acr-method | リクエストで使用できるメソッド。 このパラメーターには、 |
-- 起源 | クロスオリジンリクエストを許可するオリジン。 例: |
-- acr-headers |
|
例
次のコマンドを実行して、examplebucketバケットが、オリジンがhttp://www.aliyun.com
で、リクエストメソッドがPUT
であるクロスオリジンリクエストを許可するかどうかを検出できます。
. /ossutil64 cors-options -- acr-method put -- origin "http://www.aliyun.com" oss:// examplebucket
examplebucketがクロスオリジンリクエストを許可する場合、同様の出力が表示されます。
アクセス制御-許可-メソッド: GET、POST、PUT
アクセス制御-許可-オリジン: *
アクセス制御-マックス-年齢: 0
0.079520経過
examplebucketがクロスオリジンリクエストを拒否した場合も、同様の出力が表示されます。
エラー: oss: serviceが返されましたエラー: StatusCode=403, ErrorCode=AccessForbidden, ErrorMessage="CORSResponse: このCORSリクエストは許可されていません。 これは通常あります
Origin、要求メソッド /Access-Control-request-method、またはAccess-Control-Requet-Headersの評価がリソースのCORSによってホワイトリスト化されていないため
"、RequestId=60F7F55F553DA2363138 ****
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKeyシークレットを指定します。
testbucketという名前のバケットが、オリジンがhttp://www.alibabacloud.com
で、リクエストメソッドがPUT
であるクロスオリジンリクエストを許可するかどうかを検出するには、次のコマンドを実行します。
. /ossutil64 cors-options -- acr-method put -- origin "http://www.alibabacloud.com" oss:/testbucket -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
cors-optionsコマンドに使用できるその他の共通オプションの詳細については、「共通オプション」をご参照ください。