0019-00000011

问题描述

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>

相关文档