0019-00000009

问题描述

S3兼容的PutBucketWebSite请求中,请求体XML中缺少必要的配置。

问题原因

您发起了S3兼容的PutBucketWebSite请求,但是您提交的XML配置中缺少必要的配置参数:IndexDocument/Suffix。对于S3来说,如果不提供RedirectAllRequestsTo的配置就必须确保存在IndexDocument/Suffix配置。而目前OSS不支持配置RedirectAllRequestsTo,因此IndexDocument/Suffix就是必不可少的配置节点。

问题示例

比如您发起了如下请求:

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/">
    <ErrorDocument>
      <Key>string</Key>
   </ErrorDocument>
</Website>

可以看到,上述请求携带的XML配置中缺少节点名称为IndexDocument的配置项,在这种情况下,就会报该错误。

解决方案

请确保请求体XML格式与内容无误,特别是确保包含IndexDocument/Suffix配置节点:

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"?>
<WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <IndexDocument>
        <Suffix>index.html</Suffix>
    </IndexDocument>
    <ErrorDocument>
        <Key>errorDocument.html</Key>
    </ErrorDocument>
</WebsiteConfiguration>

相关文档