Azure网站中使用Azure SDK的间歇性SSL / TLS错误

时间:2015-02-03 02:53:53

标签: c# asp.net-mvc azure-web-sites azure-sdk-.net poodle-attack

我有一个在Azure网站上运行.NET 4.5的ASP.NET MVC网站,我一直在尝试使用Azure SDK(版本4.3.0)检索或上传资产到Azure Blob存储中时出现此错误。

  

请求已中止:无法创建SSL / TLS安全通道。

     

Microsoft.WindowsAzure.Storage.StorageException:请求为
  已中止:无法创建SSL / TLS安全通道。 --->
  System.Net.WebException:请求已中止:无法创建
  SSL / TLS安全通道。在System.Net.HttpWebRequest.GetResponse()
  在
  Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T](RESTCommand`1   cmd,IRetryPolicy策略,OperationContext operationContext)---
  内部异常堆栈跟踪结束---在
  Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T](RESTCommand`1
  cmd,IRetryPolicy策略,OperationContext operationContext)在   Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient.GetBlobReferenceFromServer(StorageUri
  blobUri,AccessCondition accessCondition,BlobRequestOptions选项,
  OperationContext operationContext)在   Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient.GetBlobReferenceFromServer(URI
  blobUri,AccessCondition accessCondition,BlobRequestOptions选项,
  OperationContext operationContext)

每次都不会发生错误,但一旦发生错误,它就会不断发生。只有当我向上或向下扩展Azure网站以重置网站时,错误才会停止。它将持续几个小时或几天,然后它会再次回来。

似乎这种情况在Poodle漏洞时期开始发生,网站关闭了对SSL3的支持。从我已经完成的研究看来,如果Azure SDK尝试通过SSL3连接到Azure Blob存储,则可能出现此错误。由于它在一段时间内工作正常,我想知道我的应用程序中的某个库是否将ServicePointManager.SecurityProtocol设置为SSL3,这是一个全局设置,然后Azure从那时起使用导致错误。是否有任何想法确定是否正在发生这种情况或如何找到将回退设置为SSL3的代码?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

删除并重新安装证书,重启后为我修复了这个问题。