问题描述
URL签名中Signature
字段取值为空。
问题原因
您采用URL签名的方式发送请求,但是在URL参数中Signature
字段取值为空。
问题示例
您发起了在URL参数中携带签名的请求,但是Signature
字段取值为空。
GET /test.txt?OSSAccessKeyId=nz2p****&Expires=1141889120&Signature= HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Signature
字段的计算方法为:
Signature = urlencode(base64(hmac-sha1(AccessKeySecret,
VERB + "\n"
+ CONTENT-MD5 + "\n"
+ CONTENT-TYPE + "\n"
+ EXPIRES + "\n"
+ CanonicalizedOSSHeaders
+ CanonicalizedResource)))
解决方案
确保URL请求中包含Signature
字段,且字段取值正确。
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
Signature
字段的计算方法如下:
Signature = urlencode(base64(hmac-sha1(AccessKeySecret,
VERB + "\n"
+ CONTENT-MD5 + "\n"
+ CONTENT-TYPE + "\n"
+ EXPIRES + "\n"
+ CanonicalizedOSSHeaders
+ CanonicalizedResource)))
更多信息,请参见在URL中包含签名。
推荐采用SDK的方式发起请求,可以免去手动签名的过程。更多信息,请参见使用阿里云SDK发起请求概述。
该文章对您有帮助吗?
- 本页导读 (1)
- 问题描述
- 问题原因
- 问题示例
- 解决方案