文档

0002-00000070

更新时间:

问题描述

URL签名中的过期时间无效。

问题原因

您采用URL签名的方式发送请求,但是URL参数中的Expiresx-oss-expires取值无效。

问题示例

  • 使用V1版本签名发起请求

    使用V1版本签名发起请求时,通过Expires字段指定URL过期时间,但该字段的取值无效。

    GET /test.txt?OSSAccessKeyId=nz2p****&Expires=abc&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.0
    Date: Tue, 20 Dec 2022 08:48:18 GMT
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
  • 使用V2版本签名发起请求

    使用V2版本签名发起请求时,通过x-oss-expires字段指定URL过期时间,但该字段的取值无效。

    GET /test.txt?x-oss-signature-version=OSS2&x-oss-expires=abc&x-oss-signature=abc***&x-oss-access-key-id=asfd*** HTTP/1.0
    Date: Tue, 20 Dec 2022 08:48:18 GMT
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com

URL过期时间格式为Unix时间戳(自UTC时间1970年01月01号开始的秒数)。如果OSS接收到该URL请求的时间晚于签名中包含的Expiresx-oss-expires参数时,则返回请求超时的错误码。

解决方案

确保Expires字段或x-oss-expires字段存在且值正确。例如,当前时间是1141889060,开发者希望创建一个60秒后自动失效的URL,则可以设置Expires时间为1141889120。以V1版本签名发起请求为例:

GET /test.txt?OSSAccessKeyId=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

更多信息,请参见在URL中包含签名

说明

推荐采用SDK的方式发起请求,可以免去手动签名的过程。更多信息,请参见使用阿里云SDK发起请求概述

  • 本页导读 (1)
文档反馈