Issue description
The timeout period of the signature is missing in the request.
Cause
You initialize a request that is compatible with Amazon S3. However, the Expires field that is used to specify the timeout period is missing in the request.
Example
The following code provides an example:
GET /test.txt?AWSAccessKeyId=nz2p****&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
x-oss-s3-compat: trueIn the preceding example, the Expires field is missing. This field indicates the time when the signed URL expires. The value of this parameter is a UNIX timestamp, which is the number of seconds that have elapsed since January 1, 1970 00:00:00 UTC. If the time when OSS receives the request that contains the URL is later than the value of this parameter that is included in the signature, a request timeout error is returned. For example, if the current time is 1141889060, and you want to create a URL that is valid within 60 seconds, you must set this parameter to 1141889120.
Solution
Make sure that the Expires field is included in the request and a valid value is specified for the field.
GET /test.txt?AWSAccessKeyId=nz2p****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
x-oss-s3-compat: trueWe recommend that you use Amazon S3 SDKs to initiate the request. For more information, see Use Amazon S3 SDKs to access OSS.