所有文档

          对象存储 BOS

          PutBucketCors

          接口描述

          本接口用来在指定的Bucket上设定一个跨域资源共享(CORS)的规则,如果原规则存在则覆盖原规则。

          权限说明

          只有Bucket的所有者和被授予FULL_CONTROL权限的用户才能设置Bucket的CORS。没有权限时,返回403 Forbidden错误,错误码:AccessDenied。

          请求

          • 请求语法

               PUT /?cors HTTP/1.1
               Host: <BucketName>.bj.bcebos.com
               x-bce-date: date
               Content-Length: content_length
               Content-Type: application/json; charset=utf-8
               Authorization: <AuthorizationString>
            
               {
                   Cors json file …
               }
          • 请求参数

          • 请求头域

            无特殊Header参数

          • 请求元素

            Cors json文件包含如下字段:

            名称 描述 是否必需 父节点
            corsConfiguration Bucket的CORS规则容器。每个Bucket
            最多允许有100条规则。
            如果有多条配置,执行顺序为从上到下。
            allowedOrigins 存储允许的跨域请求的来源的容器。 corsConfiguration
            allowedOrigin 指定允许的跨域请求的来源,允许使用
            最多一个*通配符。
            如果指定为*则表示允许所有的来源的
            跨域请求。特别的还支持*作为后缀来
            表示某一类网站比如abc*,则表示支持
            abc开头的网站。
            注意:allowedOrigin匹配时大小写敏感。
            类型:字符串
            allowedOrigins
            allowedMethods 存储允许的跨域请求方法的容器。 corsConfiguration
            allowedMethod 指定允许的跨域请求的方法,不支持通配
            *,大小写敏感。
            类型:枚举,取值有“GET,PUT,DELETE,
            POST,HEAD”。
            allowedMethods
            allowedHeaders 存储允许的allowedHeaders容器。控制
            在OPTIONS预取指令中Access-Control-
            Request-Headers头中指定的header是
            否允许。
            corsConfiguration
            allowedHeader 控制在OPTIONS预取指令中Access-Control
            -Request-Headers头中指定的header是否允许。
            在Access-Control-Request-Headers中指定的每
            个header都必须在allowedHeader中有一条对应
            的项。每一个header允许使用最多一个*通配符,
            不区分大小写。
            类型:字符串。
            allowedHeaders
            allowedExposeHeaders 存储允许用户从应用程序中访问的响应头的容器。 corsConfiguration
            allowedExposeHeader 指定允许用户从应用程序中访问的响应头(例如一个
            Javascript的XMLHttpRequest对象)。不允许使用
            *通配符。
            OPTIONS请求中将根据此定义设置Access-Control
            -Expose-Headers。
            类型:字符串。
            allowedExposeHeaders
            maxAgeSeconds 指定浏览器对特定资源的预取(OPTIONS)请求返
            回结果的缓存时间,在缓存时间内请求方不必发送重
            复的preflight
            请求,单位为秒。
            类型:Int64。
            corsConfiguration

          响应

          • 响应头域

          • 响应元素

            注意事项

            • 通过此接口设置CORS规则之前,Bucket的CORS权限设置为不允许跨域。
            • 每个Bucket最多只允许有一个规则文件,因此新上传的规则文件会覆盖原有的。
            • CORS规则文件大小限制为20KB,因此请求时大于20KB会返回超出大小错误(400 Bad Request: EntityTooLarge)。

          示例

          • 请求示例

             PUT /?cors HTTP/1.1 
             Host: BucketName.bj.bcebos.com
             x-bce-date: 2016-04-06T08:23:49Z 
             Content-Length: 1024
             Content-Type: application/json; charset=utf-8
             Authorization: AuthorizationString
            
             {
                 "corsConfiguration": [
                         {
                         "allowedOrigins": [
                             "http://www.example.com",
                             "www.example2.com"
                         ],
                         "allowedMethods": [
                                 "GET",
                                 "HEAD",
                                 "DELETE"
                             ],
                          "allowedHeaders": [
                                 "Authorization",
                                 "x-bce-test",
                                 "x-bce-test2"
                             ],
                         "allowedExposeHeaders": [
                              "user-custom-expose-header"
                         ],
                         "maxAgeSeconds": 3600
                     },
                     {	
                         "allowedOrigins": [
                             "http://www.baidu.com"
                         ],
                         "allowedMethods": [
                                 "GET",
                                 "HEAD",
                                 "DELETE"
                             ],
                         "allowedHeaders": [
                                 "*",
                         ],
                         "allowedExposeHeaders": [
                              "user-custom-expose-header"
                         ],
                         "maxAgeSeconds": 1800
                     }
                 ]
             }
          • 响应示例

                 HTTP/1.1 200 OK
                 x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
                 Content-Length: 0
                 Date: Wed, 06 Apr 2016 06:34:40 GMT
                 Server: BceBos  
          上一篇
          存储桶清单
          下一篇
          GetBucketCors