クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御し、クロスオリジンデータ送信を安全にするために、HTML5によって提供される標準のクロスオリジンソリューションです。
CORS ルールの設定
次のコードは、特定のバケットにクロスオリジンリソース共有 (CORS) ルールを設定する方法の例を示しています。
'aliyun/oss 'が必要です
client = Aliyun::OSS::Client.new (
# この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。
エンドポイント: 'https:// oss-cn-hangzhou.aliyuncs.com '、
# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
access_key_id: ENV['OSS_ACCESS_KEY_ID '] 、
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET ']
)
# バケットの名前を指定します。 例: examplebucket.
bucket = client.get_bucket('examplebucket')
# CORSルールを設定します。
bucket.cors = [
Aliyun::OSS::CORSRule.new (
# クロスオリジンリクエストを許可するオリジンを指定します。 例: http://example.com。
: allowed_origins => ['http:// example.com '、'http:// example.net'] 、
# GET、PUT、DELETE、POST、HEADなど、クロスオリジンリクエストの送信に使用できるメソッドを指定します。
: allowed_methods => ['PUT', 'POST', 'GET'] 、
# OPTIONSプリフライトリクエストで許可されるヘッダーを指定します。 例: x-oss-test。
: allowed_headers => ['x-oss-test'] 、
# アプリケーションからの許可されたアクセス要求のレスポンスヘッダーを指定します。
: expose_headers => ['x-oss-test1 '] 、
# 特定のリソースに対するOPTIONSプリフライト要求の応答をブラウザがキャッシュできる期間を指定します。 単位は秒です。
: max_age_seconds => 100)
]
CORSルールの照会
次のコードは、特定のバケットに設定されているCORSルールを照会する方法の例を示しています。
'aliyun/oss 'が必要です
client = Aliyun::OSS::Client.new (
# この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。
エンドポイント: 'https:// oss-cn-hangzhou.aliyuncs.com '、
# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
access_key_id: ENV['OSS_ACCESS_KEY_ID '] 、
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET ']
)
# バケットの名前を指定します。 例: examplebucket.
bucket = client.get_bucket('examplebucket')
cors = bucket.cors
puts cors.map(&:to_s)
CORS ルールの削除
次のコードは、特定のバケットに設定されているCORSルールを削除する方法の例を示しています。
'aliyun/oss 'が必要です
client = Aliyun::OSS::Client.new (
# この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。
エンドポイント: 'https:// oss-cn-hangzhou.aliyuncs.com '、
# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
access_key_id: ENV['OSS_ACCESS_KEY_ID '] 、
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET ']
)
# バケットの名前を指定します。 例: examplebucket.
bucket = client.get_bucket('examplebucket')
bucket.cors = []
参考資料
CORSルールを設定するために呼び出すことができるAPI操作の詳細については、「PutBucketCors」をご参照ください。
CORSルールを照会するために呼び出すAPI操作の詳細については、「GetBucketCors」をご参照ください。
CORSルールを削除するために呼び出すことができるAPI操作の詳細については、「DeleteBucketCors」をご参照ください。