问题描述
跨域资源共享CORS(Cross-Origin Resource Sharing)配置XML中CORSRule
数目超出限制。
问题原因
您通过PutBucketCors接口来配置某个Bucket的跨域资源共享规则,但是您提交的XML配置中配置了过多的规则(CORSRule
子节点个数过多),超出了规定的规则数目限制。
问题示例
比如您发起了如下请求:
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 qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
.......(此处省略20个<CORSRule>)
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<ResponseVary>true</ResponseVary>
</CORSConfiguration>
目前OSS规定单个Bucket最多配置10条CORS规则,上述XML配置中CORSRule
节点数目过多,就会得到该错误。
解决方案
在通过PutBucketCors接口来配置某个Bucket跨域资源共享规则时确保您提交的XML配置正确无误,特别是保证<CORSRule>
标签保存的规则数目不要超过10条。
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 qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<ResponseVary>false</ResponseVary>
</CORSConfiguration>
相关文档
文档内容是否对您有帮助?