设置桶的跨域资源共享CORS规则
此 PUT 操作用于为指定的存储空间(Bucket)设置跨域资源共享CORS(Cross-Origin Resource Sharing)规则。
请求
请求语法
内容
PUT /?cors HTTP/1.1 Host: {BucketName}.{Endpoint} Content-Length: {length} Date: {date} Authorization: {SignatureValue} Content-Type: application/xml <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration> <CORSRule> <ID>the CORS rule ID</ID> <AllowedOrigin>the origin you want allow CORS request from</AllowedOrigin> <AllowedOrigin>…</AllowedOrigin> <AllowedMethod>HTTP method</AllowedMethod> <AllowedMethod>…</AllowedMethod> <AllowedHeader> headers that allowed browser to send</AllowedHeader> <AllowedHeader>…</AllowedHeader> <ExposeHeader> headers in response that can access from client app</ExposeHeader> <ExposeHeader>…</ExposeHeader> <MaxAgeSeconds>time to cache pre-fight response</MaxAgeSeconds> </CORSRule> <CORSRule> … </CORSRule> … </CORSConfiguration >
描述
Endpoint:参考与region地域的关系 SignatureValue:参考签名算法
请求参数
无
非公共请求头
无
请求体
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
CORSRule | 容器 | 是 | CORS规则的容器。 每个Bucket默认支持配置100条CORS规则。上传的XML文档大小最大允许1M。 父节点:CORSConfiguration |
ID | 字符串 | 是 | CORS规则的ID。 父节点: CORSRule |
AllowedOrigin | 字符串 | 是 | 指定允许的跨域请求来源。 OSS支持使用多个元素来指定多个允许的来源。 AllowedOrigin中只能使用一个星号(*)通配符。如果指定AllowedOrigin为星号(*),则表示允许所有来源的跨域请求。 父节点:CORSRule |
AllowedMethod | 枚举值 | 是 | 指定允许的跨域请求方法。取值范围为GET、PUT、DELETE、POST、HEAD。 父节点:CORSRule |
AllowedHeader | 字符串 | 否 | 控制OPTIONS预取指令Access-Control-Request-Headers中指定的Header是否被允许。 在Access-Control-Request-Headers中指定的每个Header都必须在AllowedHeader中有对应的项。 父节点:CORSRule |
ExposeHeader | 字符串 | 否 | 指定允许用户从应用程序中访问的响应头。例如一个JavaScript的XMLHttpRequest对象。 父节点:CORSRule |
MaxAgeSeconds | 整型 | 否 | 指定浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间。单位为秒。 单条CORS规则仅允许一个MaxAgeSeconds。 父节点:CORSRule |
CORSConfiguration | 容器 | 是 | Bucket的CORS规则容器。 父节点:无 |
响应
非公共响应头
无
响应体
无
示例
请求
PUT /?cors HTTP/1.1 Host: oss-example.oss-cn-beijing.inspurcloud.com Authorization: authorization string Content-Length: {length} Date: Wed, 29 Oct 2020 22:32:00 GMT <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration> <CORSRule> <ID>123</ID> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>GET</AllowedMethod> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration>
响应
HTTP/1.1 200 OK Date: Wed, 29 Oct 2020 22:32:00 GMT Content-Length: 0 Connection: keep-alive
错误码
错误码 | 状态码 | 描述 |
---|---|---|
InvalidDigest | 400 | 上传了Content-MD5请求头后,OSS会计算消息体的Content-MD5并检查一致性,如果不一致则返回此错误码。 |