问题描述
单个请求不能同时在Header以及URL请求参数中均携带签名。
问题原因
您发起了携带签名的请求,在请求中携带了Authorization
请求头的同时又在URL中携带了用于签名认证的参数,例如Expires
、Signature
、OSSAccessKeyId
等。
问题示例
您发起了基于签名的认证请求,并且同时在Header和URL请求参数中携带了签名信息。
GET /oss.jpg?OSSAccessKeyId=nz2pc56s936****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 06:38:30 GMT
Authorization: OSS qn6q**************:77Dv****************
解决方案
您可以选择以下任意方式发起签名请求。
仅在Header中包含签名信息
GET /oss.jpg HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 06:38:30 GMT
Authorization: OSS qn6q**************:77Dv****************
关于在Header中包含签名的更多信息,请参见在Header中包含签名。
仅在URL请求中携带签名信息
GET /oss.jpg?OSSAccessKeyId=nz2pc56s936****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv****
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 06:38:30 GMT
关于在URL中包含签名的更多信息,请参见在URL中包含签名。
文档内容是否对您有帮助?