Problem description
The additional headers in the signed URL contain headers that do not exist in the request headers of a request.
Causes
You initiated a request that uses an Amazon Simple Storage Service (S3)-compatible V4 signature, but the X-Amz-SignedHeaders header of the request signature or the SignedHeaders header of the Authorization header contains headers that do not exist in the request headers, or a header contains underscores (_).Amazon S3
Examples
You initiated a request that uses an Amazon S3-compatible V4 signature, but the X-Amz-SignedHeaders
header contains a header that does not exist in the request headers.
GET /test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LTAI****************/20221220/us-east-1/s3/aws4_request&X-Amz-Date=20221220T084818Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host;range&X-Amz-Signature=ab2***st HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
x-oss-s3-compat: true
The X-Amz-SignedHeaders
header is set to host;range
, which specifies that the host and range headers exist in the request. However, the range header does not exist in the signed request.
Solutions
Make sure that the value of the X-Amz-SignedHeaders header or the value of the SignedHeaders header of the Authorization header does not contain underscores (_).
Delete the range header from the X-Amz-SignedHeaders
header.
GET /test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LTAI****************/20221220/us-east-1/s3/aws4_request&X-Amz-Date=20221220T084818Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=ab2***st HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
If you want to set the X-Amz-SignedHeaders
header to host;range
, add the range header to the request.
GET /test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LTAI****************/20221220/us-east-1/s3/aws4_request&X-Amz-Date=20221220T084818Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host;range&X-Amz-Signature=ab2***st HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Range: 0-2560
We recommend that you use Amazon S3 SDKs to initiate the request. For more information, see Use Amazon S3 SDKs to access OSS.