问题描述
请求头x-oss-content-sha256
取值不正确。
问题原因
您发起的请求采用V4版本签名,但是请求头x-oss-content-sha256
取值不正确。
问题示例
您发起了基于V4版本签名的请求,但是请求头x-oss-content-sha256
取值有误:
GET /oss.jpg HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 20 Dec 2022 08:48:18 GMT
Authorization: OSS4-HMAC-SHA256 Credential=AK**ID/20221220/us-east-1/oss/abc,Signature=18**0a
x-oss-content-sha256: 78a***df
解决方案
将请求头x-oss-content-sha256
的取值替换为UNSIGNED-PAYLOAD
。
相关文档
使用SDK发起请求实现V4版本签名。更多信息,请参见使用阿里云SDK发起请求概述。
自己实现签名。
如果您需要自己实现V4版本签名,可参考SDK V4版本签名。更多信息,请参见Python SDK V4版本签名实现。
如果您需要自己实现签名逻辑,可参考V1版本签名。更多信息,请参见使用REST API发起请求。
采用以上方法自己实现签名过程中,如果服务端在响应中返回了
StringToSign
字符串,可以查看服务端的待签字符串与您签名前的待签字符串是否一致。
文档内容是否对您有帮助?