问题描述
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>
相关文档
文档内容是否对您有帮助?