Put Bucket cors操作将在指定的bucket上设定一个跨域资源共享(CORS)的规则,如果原规则存在则覆盖原规则。
请求语法PUT /?cors HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
<CORSRule>
<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 >
请求元素(Request Elements)
名称 | 描述 | 是否必须 |
CORSRule | CORS规则的容器,每个bucket最多允许10条规则 类型:容器 父节点:CORSConfiguration | 是 |
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)请求返回结果的缓存时间,单位为秒。 一个CORSRule里面最多允许出现一个。 类型:整型 父节点:CORSRule | 否 |
CORSConfiguration | Bucket的CORS规则容器 类型:容器 父节点:无 | 是 |
PUT /?cors HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 186
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfj byc:KU5h8YMUC78M30dXqf3JxrTZHiA=
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>http://www.a.com</AllowedOrigin>
<AllowedOrigin>http://www.b.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader> Authorization</AllowedHeader>
<ExposeHeader>x-oss-test</ExposeHeader>
<ExposeHeader>x-oss-test1</ExposeHeader>
<MaxAgeSeconds>100</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration >
HTTP/1.1 200 OK
x-oss-request-id: 50519080C4689A033D00235F
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。