问题描述
服务端接收到的签名请求时间与客户端发起请求的时间偏差过大。
问题原因
您采用了Amazon S3兼容的签名请求,但是请求中的时间参数与OSS接收到请求的时间偏差过大。请求中的时间参数来源于Date
请求头或者x-amz-date
字段。
问题示例
请求示例如下:
GET /test.txt?AWSAccessKeyId=nz2p****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.0
Date: Tue, 20 Dec 2020 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
x-oss-s3-compat: true
如果OSS服务端在2022年接收到该请求,则返回该错误。原因是Date
字段的时间与OSS接收到请求的时间偏差过大。
解决方案
确保请求中Date
请求头或者x-amz-date
字段表示时间的参数正确无误。
相关文档
推荐采用SDK发起请求,可以免去手动签名的过程。具体操作,请使用阿里云SDK发起请求概述。
采用兼容Amazon S3 SDK发起请求。具体操作,请参见使用Amazon S3 SDK访问OSS。
文档内容是否对您有帮助?