全部產品
Search
文件中心

Object Storage Service:0034-00000012

更新時間:Jun 08, 2024

問題描述

跨域資源共用CORS(Cross-Origin Resource Sharing)配置XML中某條規則中AllowedHeader參數不合法。

問題原因

您通過PutBucketCors介面來配置某個Bucket的跨域資源共用規則,但是您提交的XML配置的某條規則中AllowedHeader參數的值不合法。

問題樣本

比如您發起了如下請求:

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>GET</AllowedMethod>
      <AllowedHeader>A&B</AllowedHeader>
    </CORSRule>
    <ResponseVary>true</ResponseVary>
</CORSConfiguration>

AllowedHeader參數用於控制OPTIONS預取指令Access-Control-Request-Headers中指定的Header是否被允許。在Access-Control-Request-Headers中指定的每個Header都必須在AllowedHeader中有對應的項。

AllowedHeader中只能使用一個星號(*)萬用字元,且不支援使用以字元< > & ' "。上述XML配置中的CORSRule中AllowedHeader節點值為A&B,包含了不允許的&,因此不符合規範。

解決方案

在通過PutBucketCors介面來配置某個Bucket跨域資源共用規則時,請確保您提交的XML配置正確無誤,且AllowedHeader參數符合上述規範。

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>GET</AllowedMethod>
      <AllowedHeader>Authorization</AllowedHeader>
    </CORSRule>
    <ResponseVary>false</ResponseVary>
</CORSConfiguration>

相關文檔