Windows Azure Storage Certificate Expired - epix fail

Вчера у многих перестали работать BlobStorage, которые открывались по HTTPS. И причиной тому стало истечение сроков валидности серверного сертификата на стороне Azure. Полное обсуждение проблемы на stackoverflow. Но к слову сказать, что отказаться от HTTPS и полностью перейти на HTTP - не лучший вариат, так как если используется локальная отладка с автоматической заменой при публикации на сточку соединения с этим хранилищем, то автоматически будет подставлено соединение в виде HTTPS (опция Update connection string when publishing to Azure). Поэтому наилучшее решение - оставить HTTPS и добавить в Application_Start выполнение команды, отключающей проверку серверного сертификата:
ServicePointManager.ServerCertificateValidationCallback = (s, certificate, chain, sslPolicyErrors) => true;
UPDATE:
Проблема оказалась несколько шире и истечение сертификата привело к нарушениям в работе Azure CDN во всем мире. Это не удивительно, ведь CDN у микрософта построен на репликациях blobstorage.

Ниже пример кода ошибки для поисковиков
System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure. at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Threading.ExecutionContext.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse() at System.Data.Services.Client.QueryResult.Execute() at System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents) at System.Data.Services.Client.DataServiceQuery`1.Execute() at System.Data.Services.Client.DataServiceQuery`1.GetEnumerator() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at System.Data.Services.Client.DataServiceQueryProvider.ReturnSingleton[TElement](Expression expression) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source)

Метки: ,   Категории:bugs | microsoft


blog comments powered by Disqus

Добавить комментарий

Кто я?

Программист. Я слежу за блогосферой и знаю, как будет развиваться интернет. Когда у меня есть время я даже прилагаю для этого усилия. Подробнее

Последние комментарии

Не отображать

Topbot at FeedsBurner

Мои Твиты

Twitter июля 21, 06:27
Украина готовит на Евровидение песню с быками http://dlvr.it/QcGlCH

Twitter июля 21, 06:27
Суммарная капитализация криптовалют http://dlvr.it/QcGl8J

Twitter июля 21, 06:27
В Твиттере начался обвал фолловеров http://dlvr.it/QcGl9p

Twitter июля 20, 13:36
Разбор трилогии Матрицы (The Matrix Trilogy) http://dlvr.it/QcBwFH https://twitter.com/f1ashr/status/1020301316550086656/photo/1

Twitter июля 20, 01:04
Чем белые отличаются от черных? http://dlvr.it/Qc7sJx https://twitter.com/f1ashr/status/1020112062507233281/photo/1

Twitter июля 19, 23:57
Победа свободы над здравым смыслом http://dlvr.it/Qc7fVm https://twitter.com/f1ashr/status/1020095354983731201/photo/1

Twitter июля 19, 22:17
Роскомнадзор планирует заблокировать IP сайта t30p http://dlvr.it/Qc7JG9

Twitter июля 19, 20:39
коломенский кремль: альтернативная история 2 http://dlvr.it/Qc6v6H https://twitter.com/f1ashr/status/1020045378324914176/photo/1

Twitter июля 18, 22:44
Трансляции Одноклассников (http://Ok.ru/live) добавлены в t30p http://dlvr.it/Qc18JK https://twitter.com/f1ashr/status/1019714458350891009/photo/1

Twitter июля 18, 22:44
Теневой бизнес ГИБДД http://dlvr.it/Qc18HP https://twitter.com/f1ashr/status/1019714453678436352/photo/1

Twitter июля 18, 22:44
Непонятные конкурсы в Твиттере http://dlvr.it/Qc188b https://twitter.com/f1ashr/status/1019714448993337344/photo/1

Twitter июля 18, 22:44
Текущая ситуация с инстаграммом http://dlvr.it/Qc186r

Twitter июля 18, 22:12
Пользователи умудрились поломать гео-локацию в Инстаграм http://dlvr.it/Qc12Fq

Twitter июля 18, 22:12
Разбор сериала Рассказ служанки http://dlvr.it/Qc1228 https://twitter.com/f1ashr/status/1019706394503667714/photo/1

Twitter июля 18, 22:12
Разбор сериала "Мир Дикого Запада" http://dlvr.it/Qc120F

Twitter июля 18, 21:08
Google Lunar X Prize - за 10 лет никто не смог запуститься на Луну http://dlvr.it/Qc0myX https://twitter.com/f1ashr/status/1019690286862102528/photo/1

Twitter июля 18, 21:08
Китайский интернет http://dlvr.it/Qc0mtX https://twitter.com/f1ashr/status/1019690280860053504/photo/1

Twitter июля 18, 20:34
Левитирующие объекты в Японии http://dlvr.it/Qc0dvs

Twitter июля 14, 22:59
Диджеи будущего http://dlvr.it/QbZSKL

Twitter июля 14, 20:46
Китай: скрытая угроза http://dlvr.it/QbZ5XZ

Мой твиттер

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008