У меня есть веб-сайт ASP.NET MVC с .NET 4.5 на веб-сайте Azure, и я продолжаю получать эту ошибку, пытаясь получить или загрузить ресурсы в хранилище BLOB-объектов Azure с помощью Azure SDK (версия 4.3.0).
Запрос был прерван: не удалось создать безопасный канал SSL/TLS.
Microsoft.WindowsAzure.Storage.StorageException: запрос был
прерван: не удалось создать безопасный канал SSL/TLS. --->
System.Net.WebException: Запрос был прерван: Не удалось создать
безопасный канал SSL/TLS. at System.Net.HttpWebRequest.GetResponse()
at
Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T] (команда RESTCommand`1, политика IRetryPolicy, контекст операции OperationContext) ---
Конец внутренней трассировки стека исключений --- в
Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](команда RESTCommand`1
, политика IRetryPolicy, контекст операции 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 (контекст операции)
Ошибка возникает не каждый раз, но как только она начинает происходить, она происходит постоянно. Только когда я масштабирую веб-сайт Azure вверх или вниз для сброса сайта, ошибка прекращается. Это пройдет несколько часов или несколько дней, а затем вернется снова.
Похоже, это началось примерно во время уязвимости Poodle, и сайты прекратили поддержку SSL3. Судя по проведенному мной исследованию, эта ошибка может быть связана с тем, что Azure SDK пытается подключиться к хранилищу BLOB-объектов Azure через SSL3. Поскольку какое-то время он работает нормально, мне интересно, не устанавливает ли какая-то библиотека в моем приложении для ServicePointManager.SecurityProtocol значение SSL3, которое является глобальным параметром, который Azure затем использует с этого момента, вызывая ошибку. Любая идея определить, происходит ли это, или как найти тот код, который устанавливает откат к SSL3?