首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS身份验证需要一个有效的日期或x-amz-date标头curl。

AWS身份验证需要一个有效的日期或x-amz-date标头curl。
EN

Stack Overflow用户
提问于 2015-03-26 10:52:00
回答 2查看 8.5K关注 0票数 5

我试图通过传递AWS请求的所需的头部来使用cURL进行简单的图像上传,但是我得到了以下错误.

代码语言:javascript
运行
复制
<Code>AccessDenied</Code><Message>AWS authentication requires a valid Date or x-amz-date header</Message>

下面是我要传递的授权头。

代码语言:javascript
运行
复制
curl -X PUT -T "/some/file.jpg" \
-H "Host: bucket.s3.amazonaws.com" \
-H "Date: date" \
-H "Content-Type: image/jpg" \
-H "Authorization: AWS XXXXXXX:XXXXXXXXXX" \
  https://bucket.s3.amazonaws.com/

下面是签名的方式,

代码语言:javascript
运行
复制
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64`

我试过在stringToSign和标题中传递日期,但是没有运气..请帮忙..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-26 12:23:34

解决了问题..。结果,HTTP报头需要采用RFC 7231格式。我格式化了它,它起了作用。下面是我使用的格式,

date -jnu +%a,\ %d\ %h\ %Y\ %T\ %Z

票数 5
EN

Stack Overflow用户

发布于 2021-06-06 23:48:20

也有类似的问题,但得到:

Date must be in ISO-8601 'basic format'

我用这个来修复:

$(date -u +"%Y-%m-%dT%H:%M:%S%z")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29276609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档