我使用共享访问签名
为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(#21)的HTTPS握手失败。 System.IO.IOException由于意外的数据包格式,握手失败。
对于Azure来说,这肯定是一个问题。我怎么能解决这个问题呢?
P.S。在Chrome中,此问题显示为“net :: ERR_SSL_PROTOCOL_ERROR”。在Edge中,我得到“XMLHttpRequest:网络错误0x80070005,访问被拒绝。”
答案 0 :(得分:1)
卫生署! URL中的显式端口(HTTP的“:80”)是问题所在。
答案 1 :(得分:0)
还有一点。只需确保在使用SAS创建blob服务时,不要在host参数中提供协议信息。 e.g。
var service = azureBlob.createBlobServiceWithSas("xxxxx.blob.core.windows.net", sasKey);