Problem description
The x-oss-object-acl
request header in the request is missing or left empty.
Causes
For example, you initiate a PutObjectAcl request and use the x-oss-object-acl
request header to specify the ACL of an object. If the request header is missing in the request or the value of the request header is an empty string, an error is reported.
Examples
For example, you initiate the following request:
PUT /test-object?acl HTTP/1.1
x-oss-object-acl:
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 29 Apr 2015 05:21:12 GMT
Authorization: OSS qn6q**************:77Dv****************
In the preceding request, the value of the x-oss-object-acl
request header is left empty, which is not a valid ACL name. An error is returned.
Solutions
Check whether the value of the x-oss-object-acl
request header in the request is valid. Valid values include:
default: The ACL of the object is the same as the ACL of the bucket in which the object is stored. This is the default value.
private: The ACL of the object is private. Only the owner of the object and authorized users have read and write permissions on the object. Other users have no permissions on the object.
public-read: The ACL of the object is public read. Only the owner of the object and authorized users have read and write permissions on the object. Other users can only read the object. Exercise caution when you set x-oss-object-acl to this value.
public-read-write: The ACL of the object is public read/write. All users have read and write permissions on the object. Exercise caution when you set x-oss-object-acl to this value.