问题描述
S3兼容的PutBucketWebSite请求中,请求体XML中存在不支持的PassQueryString
节点。
问题原因
您发起了S3兼容的PutBucketWebSite请求,但是在您提交的XML配置中,RoutingRules/RoutingRule/Redirect
中包含名为PassQueryString
的配置节点,S3兼容的API不支持该配置节点。
问题示例
比如您发起了如下请求:
PUT /?website HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Authorization: AWS SignatureValue
x-oss-s3-compat: true
<?xml version="1.0" encoding="UTF-8"?>
<Website xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>errorDocument.html</Key>
</ErrorDocument>
<RoutingRules>
<RoutingRule>
<Redirect>
......
<PassQueryString>false</PassQueryString>
</Redirect>
</RoutingRule>
</RoutingRules>
</Website>
可以看到,上述请求携带的XML配置中存在节点名称为PassQueryString
的配置项,在这种情况下,就会报该错误。
解决方案
请确保请求体XML格式与内容无误,特别是确保不包含PassQueryString
配置节点:
PUT /?website HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Authorization: AWS SignatureValue
x-oss-s3-compat: true
<?xml version="1.0" encoding="UTF-8"?>
<Website xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>errorDocument.html</Key>
</ErrorDocument>
<RoutingRules>
<RoutingRule>
<Redirect>
......
</Redirect>
</RoutingRule>
</RoutingRules>
</Website>
相关文档
文档内容是否对您有帮助?