Problem description
Your request to a pay-by-requester bucket was denied because the x-oss-request-payer header is missing or set to an invalid value.
Causes
When pay-by-requester is enabled on a bucket, OSS requires requesters to explicitly acknowledge that they are responsible for the fees their requests generate. When using a signed request URL to access the bucket, the x-oss-request-payer header must be configured correctly in the request. If the header is absent or set to an invalid value, OSS denies the request.
Examples
The following request does not include the x-oss-request-payer header. If pay-by-requester is enabled on the oss-example bucket, OSS denies this request.
GET /testobject?OSSAccessKeyId=LTAI****************&Expires=1141889120&Signature=vjby************************** HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 05:45:34 GMTSolutions
If you include a signature in the request URL, you must append x-oss-request-payer=requester as a query parameter in the URL.
The following example shows a signed URL request that includes the header and is accepted:
GET /testobject?OSSAccessKeyId=LTAI****************&Expires=1141889120&Signature=vjby**************************&x-oss-request-payer=requester HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 05:45:34 GMTWith pay-by-requester enabled, requesters—not the bucket owner—pay for the requests they send and the traffic they generate. If a requester uses a Resource Access Management (RAM) user under an Alibaba Cloud account, the charges are billed to that Alibaba Cloud account.
Bucket owners do not need to add x-oss-request-payer to their requests. Bucket owners are charged for their own requests and traffic regardless of whether the header is present.