天翼云对象存储(经典版)I型API参考-PUT Bucket CORS | ||||||||||||||||||||||||||||
产品推荐: 1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>; 2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>> 3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>> 4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>> 点击这里注册天翼云特邀VIP帐号,立即体验天翼云对象存储>>> 天翼云对象存储(经典版)I型API参考-PUT Bucket CORS 此操作用来设置Bucket的跨域资源共享(Cross-Origin Resource Sharing,CORS)。浏览器限制脚本内发起跨源HTTP请求,即同源策略。例如,当来自于A网站的页面中的JavaScript代码希望访问B网站的时候,浏览器会拒绝该访问,因为A、B两个网站是属于不同的域。通过配置CORS,可以解决不同域相互访问的问题,CORS定义了客户端Web应用程序在一个域中与另一个域中的资源进行交互的方式。 以下是有关使用CORS的示例场景:
设置bucket的跨域请求。如果配置已经存在,OOS会覆盖它。只有根用户和拥有PUT Bucket CORS权限的子用户才能执行此操作,否则会返回403 AccessDenied错误。在配置跨域请求时,用户可以通过XML来配置允许跨域的源和HTTP方法。XML请求体不能超过64KiB。 OOS收到来自浏览器的预检请求后,它将为bucket评估CORS配置,并使用第一个与浏览器请求相匹配的CORSRule规则来实现跨域请求。要使规则实现匹配,必须满足以下条件:
请求语法
请求参数
请求示例第一个规则允许来自https://www.example1.com源的跨源 PUT、POST和DELETE请求。该规则还通过Access-Control-Request-Headers标头允许预检OPTIONS请求中的所有标头。作为对任何预检 OPTIONS 请求的响应,OOS 将返回请求的任意请求头。 第二个规则允许与第一个规则具有相同的跨源请求,但第二个规则应用于另一个源 https://www.example2.com。 第三个规则允许来自所有源的跨源GET请求。“*”通配符字符是指所有的源。 PUT /?cors HTTP/1.1 Host: examplebucket.oos-cn.ctyunapi.cn x-amz-date: Tue, 21 Aug 2012 17:54:50 GMT Content-MD5: 8dYiLewFWZyGgV2Q5FNI4W== Authorization:AWS fad0e782cd5132563e38:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Length: 445 <CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.example1.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>http://www.example2.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration> 响应示例HTTP/1.1 200 OK x-amz-request-id: 0CF038E9BCF63097 Date: Wed, 13 Dec 2017 19:14:42 GMT Server: CTYUN Content-Length: 280 <CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.example.com</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSec> <ExposeHeader>x-amz-server-side-encryption</ExposeHeader> </CORSRule> </CORSConfiguration> |