繁体   English   中英

Azure blob GET 请求授权 header “x-ms-date”字段问题

[英]Azure blob GET request authorization header "x-ms-date" field issue

我正在尝试获取一个 html 页面,该页面使用 postman 放置在 Azure blob 存储中。默认的 blob 存储访问已设置为私有,因此我必须发送“共享密钥”、“x-ms-version”和“x- ms-date" 在 header 部分进行授权。

这是 Postman 中请求的屏幕截图。

在此处输入图像描述

当我单击发送按钮时,我收到一条错误消息,指出“请求中的日期 header 不正确”。

在此处输入图像描述

有解决问题的想法吗?

更新更正日期格式

我更正了“x-ms-date”格式,现在它抛出一个错误,指出身份验证信息格式不正确

在此处输入图像描述

这是postman的授权部分

在此处输入图像描述

谢谢您的帮助。

请查阅文档

您需要为正确的请求指定两个标头: Authorization标头和x-ms-date标头。

x-ms-date标头的正确格式为Fri, 26 Jun 2015 23:39:12 GMT

您的Authorization标头似乎无效。 尝试重新生成SAS密钥,然后再次测试您的请求。

据我正确理解,那么您只有15分钟的请求时间。

从文档:

存储服务确保请求在到达服务之前不超过15分钟。 这可以防止某些安全攻击,包括重放攻击。 当此检查失败时,服务器将返回响应代码403(禁止)。

x-ms-date标头必须采用以下格式指定:2015年6月26日,星期五,格林尼治标准时间

请使用此格式再次尝试您的请求。

格式为Fri, 26 Jun 2015 23:39:12 GMT 在Python中,可以通过以下方式获得

import datetime
date = datetime.datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')

假设locale.en_US

您应该拥有的格式是: Thu Apr 7 16:55:44 CET 2022

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM