【发布时间】:2018-06-08 13:55:39
【问题描述】:
我有一个格式正确的 Blob PUT 操作 URL,使用共享访问签名:
使用 Fiddler 的 Composer,我能够成功上传数据(带有“x-ms-blob-type: BlockBlob”标头)。
但是,当我将 URL 更改为“https”时,PUT 失败并显示状态码 502,并显示以下消息:
[Fiddler] 与“xyz.blob.core.windows.net”的连接失败。
System.Security.SecurityException 无法与 server.fiddler.network.https 协商 HTTPS 连接> 与 xyz.blob.core.windows.net 的 HTTPS 握手(对于 #21)失败。 System.IO.IOException 由于意外的数据包格式,握手失败。
这似乎是 Azure 端的一个问题。我该如何解决这个问题?
附:在 Chrome 中,此问题表现为“net::ERR_SSL_PROTOCOL_ERROR”。在 Edge 中,我收到“XMLHttpRequest:网络错误 0x80070005,访问被拒绝。”
【问题讨论】:
-
请在使用 Fiddler 时看看这是否解决了问题:telerik.com/forums/io-exception-unexpected-packet-format#
-
将协议更改为“
;ssl2;ssl3;tls1.0;tls1.1;tls1.2”后,错误变为: System.Security.SecurityException 无法与服务器协商 HTTPS 连接。 fiddler.network.https>与 xyz.blob.core.windows.net(对于 #54)的 HTTPS 握手失败。 System.ComponentModel.Win32Exception 客户端和服务器无法通信,因为它们没有共同的算法 -
...并且使用 Protocols == "tls1.0;tls1.1;tls1.2",错误与原始问题相同:“由于意外的数据包格式,握手失败"
标签: azure ssl azure-storage azure-blob-storage