Azure存储Blob发出SSL握手错误

时间:2016-03-07 05:12:02

标签: azure ssl azure-storage azure-storage-blobs

我使用共享访问签名

为Blob PUT操作创建了一个正确的URL
  

http://xyz.blob.core.windows.net:80/container/BLOB_NAME?sv=2015-04-05&sr=b&sig=xtpL3M2WRWILarpojLnjlacpIWs41%2BosFWiTtAPGwIE%3D&se=2016-03-07T06%3A00%3A59Z&sp=w

使用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(#21)的HTTPS握手失败。 System.IO.IOException由于意外的数据包格式,握手失败。

对于Azure来说,这肯定是一个问题。我怎么能解决这个问题呢?

P.S。在Chrome中,此问题显示为“net :: ERR_SSL_PROTOCOL_ERROR”。在Edge中,我得到“XMLHttpRequest:网络错误0x80070005,访问被拒绝。”

2 个答案:

答案 0 :(得分:1)

卫生署! URL中的显式端口(HTTP的“:80”)是问题所在。

答案 1 :(得分:0)

还有一点。只需确保在使用SAS创建blob服务时,不要在host参数中提供协议信息。 e.g。

var service = azureBlob.createBlobServiceWithSas("xxxxx.blob.core.windows.net", sasKey);