簡體   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