PutBucketCors
更新时间:2020-07-09
接口描述
本接口用来在指定的Bucket上设定一个跨域资源共享(CORS)的规则,如果原规则存在则覆盖原规则。
权限说明
只有Bucket的所有者和被授予FULL_CONTROL权限的用户才能设置Bucket的CORS。没有权限时,返回403 Forbidden错误,错误码:AccessDenied。
请求
-
请求语法
Plain Text1 PUT /?cors HTTP/1.1 2 Host: <BucketName>.bj.bcebos.com 3 x-bce-date: date 4 Content-Length: content_length 5 Content-Type: application/json; charset=utf-8 6 Authorization: <AuthorizationString> 7 8 { 9 Cors json file … 10 }
-
请求参数
无
-
请求头域
无特殊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)。
示例
-
请求示例
Plain Text1 PUT /?cors HTTP/1.1 2 Host: BucketName.bj.bcebos.com 3 x-bce-date: 2016-04-06T08:23:49Z 4 Content-Length: 1024 5 Content-Type: application/json; charset=utf-8 6 Authorization: AuthorizationString 7 8 { 9 "corsConfiguration": [ 10 { 11 "allowedOrigins": [ 12 "http://www.example.com", 13 "www.example2.com" 14 ], 15 "allowedMethods": [ 16 "GET", 17 "HEAD", 18 "DELETE" 19 ], 20 "allowedHeaders": [ 21 "Authorization", 22 "x-bce-test", 23 "x-bce-test2" 24 ], 25 "allowedExposeHeaders": [ 26 "user-custom-expose-header" 27 ], 28 "maxAgeSeconds": 3600 29 }, 30 { 31 "allowedOrigins": [ 32 "http://www.baidu.com" 33 ], 34 "allowedMethods": [ 35 "GET", 36 "HEAD", 37 "DELETE" 38 ], 39 "allowedHeaders": [ 40 "*", 41 ], 42 "allowedExposeHeaders": [ 43 "user-custom-expose-header" 44 ], 45 "maxAgeSeconds": 1800 46 } 47 ] 48 }
-
响应示例
Plain Text1 HTTP/1.1 200 OK 2 x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409 3 Content-Length: 0 4 Date: Wed, 06 Apr 2016 06:34:40 GMT 5 Server: BceBos