0002-00000078

问题描述

签名所用的额外请求头参数列表中包含了请求中不存在的请求头。

问题原因

您采用URL签名的方式发送请求,但是在URL参数中通过x-oss-additional-headers指定的请求头部列表中存在未出现的头部字段,或者某个请求头包含下划线_

问题示例

您发起了在URL参数中携带签名的请求,但是x-oss-additional-headers字段列表中的range字段在请求头中不存在。

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

解决方案

  • 确保x-oss-additional-headers字段列表中不存在包含下划线_的请求头。

  • 删除x-oss-additional-headers字段取值中的range。

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

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