概要
Cloud Object Storage(COS)コンソールから、バケット内のオブジェクトに対しクロスドメインアクセスを設定することができます。COSはOPTIONSリクエストに応答して設定を提供し、複数のルールをサポートします。クロスドメインアクセスとは、HTTPリクエストを介して1つのドメインから別のドメインにリソースをリクエストすることです。プロトコル、ドメイン名、ポートのいずれかが異なると、異なるドメインとみなされます。
COSサービスは、クロスドメインアクセスに対し、OPTIONSリクエストへの応答をサポートし、開発者が設定したルールに基づいて、ブラウザに具体的に設定したルールを返します。ただしサーバーは、それ以降のクロスドメインリクエストがルールに従って開始されているかどうかは検証しません。詳細については、HTTPアクセス制御に関する説明とクロスドメインアクセスの設定のベストプラクティスドキュメントをご参照ください。 操作手順
2. 左側ナビゲーションバーでバケットリストをクリックし、バケットリストページに進みます。
3. クロスドメインアクセスを設定したいバケットを見つけ、そのバケット名をクリックし、バケット詳細ページに進みます。
4. 左側ナビゲーションバーでセキュリティ管理>クロスドメインアクセスCORS設定を選択し、クロスドメインアクセスCORS設定欄でルールの追加をクリックします。
5. ルール情報を追加します(*印の付いた項目は入力必須です)。設定項目の説明は次のとおりです。
オリジンOrigin:クロスドメインリクエストを許可するオリジンです。ドメイン名とIPアドレスの追加をサポートします。
ドメイン名の末尾に/
を付ける必要はありません。
複数のオリジンを同時に指定できますが、1行に入力できるのは1つだけです。
設定は*
をサポートしており、すべてのドメイン名とIPアドレスが許可されることを意味しますが、推奨いたしません。
http://www.abc.com
形式など、単一のドメイン名をサポートします。
http://*.abc.com
など、第2レベルの汎用ドメイン名もサポートしていますが、*
記号は1行に1つだけとします。
プロトコル名httpまたはhttpsを省略しないように注意します。ポートがデフォルトの80でない場合は、ポートを付ける必要があります。IPアドレスの例としては、http://10.10.10.10
が挙げられます。
操作Methods:GET、PUT、POST、DELETE、HEADをサポートしています。許可する1つまたは複数のクロスドメインリクエストメソッドを列挙します。
Allow-Headers:OPTIONSリクエストを送信する際、x-cos-meta-md5というように、次のリクエストが使用できるカスタムHTTPリクエストヘッダーをサーバーに通知します。
同時に複数のHeadersを指定できますが、Content-Typeというように、1行に入力できるのは1つだけです。
Headerは省略されやすいので、特別な要件がなければすべて許可することを示すために、*
に設定することをお勧めします。
アルファベットの大文字と小文字[a-z,A-Z]をサポートしていますが、アンダーバー_
は使用できません。
Access-Control-Request-Headersで指定された各Headerには、Allowed-Headerに対応する項目が必要です。
Expose-Headers:Expose-Headerでは、COSの常用Headerが返されます。詳細については、パブリックリクエストヘッダーをご参照ください。具体的な設定は、アプリケーションのニーズによって決定する必要があり、デフォルトでは、Etagを入力することをお勧めします。ワイルドカードは使用できず、大文字と小文字は区別されません。複数の行をサポートしていますが、各行に入力できるのは1つだけです。 タイムアウトMax-Age:OPTIONSリクエストが結果を取得するまでの有効期間(秒)を設定します。値は600など、正の整数である必要があります。
Vary: Origin:Vary: Origin Headerを返すかどうかを設定します。ブラウザにCORSと非CORSのリクエストが同時に存在する場合はこのオプションを有効にしなければ、クロスドメインの問題が発生することがあります。
注意:
Vary: Origin
にチェックを入れると、ブラウザへのアクセスまたはCDN back-to-originが増加する可能性があります。
6. 設定が完了したら、保存をクリックすれば完了です。この時点で、クロスドメインアクセスルールが追加されていることが確認できます。変更が必要な場合は、変更をクリックすると設定が行えます。
この記事はお役に立ちましたか?