問題描述
請求體XML配置中AllowEmptyReferer
節點取值有誤。
問題原因
您發起PutBucketReferer請求配置防盜鏈,但是請求體XML配置中AllowEmptyReferer
節點值不是合法的布爾值。
問題樣本
以下請求體XML配置中AllowEmptyReferer
節點值為32,取值不合法導致請求錯誤。
PUT /?referer HTTP/1.1
Date: Fri, 24 Feb 2017 03:15:40 GMT
Content-Length:322
Content-Type: application/xml
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<RefererConfiguration>
<AllowEmptyReferer>32</AllowEmptyReferer>
<AllowTruncateQueryString>false</AllowTruncateQueryString>
<RefererList>
<Referer>http://www.aliyun.com</Referer>
</RefererList>
</RefererConfiguration>
解決方案
確保請求體XML配置中AllowEmptyReferer
節點值正確。該節點用於指定是否允許Referer欄位為空白的請求訪問OSS。取值如下:
true(預設值):允許Referer欄位為空白的請求訪問OSS。
false:不允許Referer欄位為空白的請求訪問OSS。
正確請求樣本如下:
PUT /?referer HTTP/1.1
Date: Fri, 24 Feb 2017 03:15:40 GMT
Content-Length:322
Content-Type: application/xml
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<RefererConfiguration>
<AllowEmptyReferer>false</AllowEmptyReferer>
<AllowTruncateQueryString>false</AllowTruncateQueryString>
<RefererList>
<Referer>http://www.aliyun.com</Referer>
</RefererList>
</RefererConfiguration>