閱讀977 返回首頁    go 阿裏雲


設置跨域資源共享__Ruby-SDK_SDK 參考_對象存儲 OSS-阿裏雲

跨域資源共享(CORS)允許web端的應用程序訪問不屬於本域的資源。OSS提供接口 方便開發者控製跨域訪問的權限。更多關於跨域資源共享的內容請參考 OSS跨域資源共享

OSS的跨域共享設置由一條或多條CORS規則組成,每條CORS規則包含以下設置:

  • allowed_origins,允許的跨域請求的來源,如www.my-domain.com, *
  • allowed_methods,允許的跨域請求的HTTP方法(PUT/POST/GET/DELETE/HEAD)
  • allowed_headers,在OPTIONS預取指令中允許的header,如x-oss-test, *
  • expose_headers,允許用戶從應用程序中訪問的響應頭
  • max_age_seconds, 瀏覽器對特定資源的預取(OPTIONS)請求返回結果的緩存時間

設置CORS規則

通過Bucket#cors=設置CORS規則:

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  endpoint: 'endpoint',
  access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')

bucket = client.get_bucket('my-bucket')
bucket.cors = [
    CORSRule.new(
      :allowed_origins => ['aliyun.com', 'https://www.taobao.com'],
      :allowed_methods => ['PUT', 'POST', 'GET'],
      :allowed_headers => ['Authorization'],
      :expose_headers => ['x-oss-test'],
      :max_age_seconds => 100)
]

查看CORS規則

通過Bucket#cors查看CORS規則:

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  endpoint: 'endpoint',
  access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')

bucket = client.get_bucket('my-bucket')
cors = bucket.cors
puts cors.map(&:to_s)

清空CORS規則

通過Bucket#cors=清空CORS規則

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  endpoint: 'endpoint',
  access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')

bucket = client.get_bucket('my-bucket')
bucket.cors = []

最後更新:2016-11-23 17:16:08

  上一篇:go 設置訪問權限__Ruby-SDK_SDK 參考_對象存儲 OSS-阿裏雲
  下一篇:go 錯誤__Go-SDK_SDK 參考_對象存儲 OSS-阿裏雲