PutBucketCors
更新时间:2020-07-09
接口描述
本接口用来在指定的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