我有一个在 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.Blob.CloudBlobClient.GetBlobReferenceFromServer ( StorageUri) 的
Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1
cmd, IRetryPolicy 策略, OperationContext operationContext)
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 的代码?