Периодическая ошибка SSL/TLS при использовании Azure SDK на веб-сайте Azure

У меня есть веб-сайт 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?


person Austin    schedule 03.02.2015    source источник
comment
comment
@ATechieThought Я не думаю, что это проблема, потому что это связано с установкой правильного клиентского сертификата, который не требуется для использования Azure SDK. Код также работает нормально некоторое время, пока не перестанет работать.   -  person Austin    schedule 03.02.2015
comment
У меня похожая проблема. Мне никогда не удавалось воспроизвести ее локально или на почти идентичных других сайтах Azure, только на рабочем сайте (может быть, это связано с большим количеством запросов, чем сайты только для разработчиков?). Что сводит меня с ума, так это то, что он работает пару дней без нареканий, а затем начинает выдавать эту ошибку ... и, поскольку это производственная среда, я не могу слишком много с этим возиться :(   -  person Luke    schedule 13.10.2017


Ответы (2)


Пожалуйста, проверьте разрешения вашего сертификата, как описано здесь: проблема?forum=windowsazuredevelopment" rel="nofollow">https://social.msdn.microsoft.com/Forums/azure/en-US/efb73b00-3610-4a21-ae16-80543451a4d0/windows-azure-dynamic-scaling-problem? forum=windowsazuredevelopment

person Meteorpoly    schedule 13.02.2015
comment
Спасибо за ссылку @Meteorpoly, но это не проблема сертификата. Если бы сертификат отсутствовал, он бы вообще работал, а иногда и работает. Думаю, я докопался до сути. У меня был ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; вместо поддержки всех Tls следующим образом: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; - person Austin; 16.02.2015
comment
@Austin - Не могли бы вы добавить это как ответ (может быть, он старый, но это ответ!) - person GlennG; 02.01.2020

Удаление и переустановка сертификата исправили это для меня после перезагрузки.

person Michael Blake    schedule 04.08.2015