问题描述
请求体XML配置中缺少必选的节点。
问题原因
您发起PutBucketReferer请求配置防盗链,但是请求体XML配置中缺少必选节点AllowEmptyReferer
。
问题示例
以下请求体XML配置中缺少必选节点AllowEmptyReferer
。
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>
<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>