问题描述
URL签名中缺少Signature
。
问题原因
您采用URL签名的方式发送请求,但是在URL参数中缺失Signature
字段。
问题示例
您发起了在URL参数中携带签名的请求,但是请求中缺失Signature
字段。
GET /test.txt?OSSAccessKeyId=nz2p****&Expires=1141889120 HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
解决方案
确保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发起请求概述。
文档内容是否对您有帮助?