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 апреля 23, 18:27
⚫️Тематика черного цвета для России http://dlvr.it/QQWQ8B https://twitter.com/f1ashr/status/988484514685960195/photo/1

Twitter апреля 23, 10:44
Голосовой набор тэгов http://dlvr.it/QQSx71

Twitter апреля 19, 09:13
Польша сняла мини-фантастику про 2-й час http://dlvr.it/QQ36lD https://twitter.com/f1ashr/status/986895676582674432/photo/1

Twitter апреля 15, 09:31
Больше Ада на первом канале http://dlvr.it/QPb8Sf https://twitter.com/f1ashr/status/985450416811884545/photo/1

Twitter апреля 15, 08:59
Суперлайки в Перископе http://dlvr.it/QPb3HN

Twitter апреля 14, 08:51
Что американские военные забыли у берегов КНДР? http://dlvr.it/QPVZ8F https://twitter.com/f1ashr/status/985078070875832320/photo/1

Twitter апреля 13, 19:41
Текущая ситуация с инстаграммом http://dlvr.it/QPS7sy

Twitter апреля 13, 15:50
Русский youtube и твиты за день http://dlvr.it/QPR1dl https://twitter.com/f1ashr/status/984821028940427264/photo/1

Twitter апреля 13, 15:50
Как потратить валютные резервы России - Мыслить №50 http://dlvr.it/QPR1Xz

Twitter апреля 13, 14:12
Японское аниме в российских кинотеатрах http://dlvr.it/QPQSG3 https://twitter.com/f1ashr/status/984796468316815360/photo/1

Twitter апреля 13, 13:08
Полное затмение суперлуны 27 сентября (впервые с 1982 года) http://dlvr.it/QPQ5q6 https://twitter.com/f1ashr/status/984780360230649857/photo/1

Twitter апреля 13, 12:03
Реклама Андромеды http://dlvr.it/QPPkwn https://twitter.com/f1ashr/status/984764125942243328/photo/1

Twitter апреля 13, 11:31
Теневой бизнес ГИБДД http://dlvr.it/QPPZnf https://twitter.com/f1ashr/status/984755956763340800/photo/1

Twitter апреля 13, 10:27
В Ступино напечатали первый 3D дом http://dlvr.it/QPPG1p

Twitter апреля 13, 10:27
Google Glasses fail http://dlvr.it/QPPFz6 https://twitter.com/f1ashr/status/984739734407671808/photo/1

Twitter апреля 13, 08:49
Пришел ответ от Youtube по поводу видео http://dlvr.it/QPNpH6

Twitter апреля 12, 19:39
Автоматическое информирование о выходе новых сезонов http://dlvr.it/QPL4pB

Twitter апреля 11, 07:28
Разбор сериала "Молодой папа" (теория общего знания, часть 22) http://dlvr.it/QP7wlv https://twitter.com/f1ashr/status/983970149765038085/photo/1

Twitter апреля 11, 01:33
В бюджете Америки появились лишние 2 трлн. долларов http://dlvr.it/QP6nN4

Twitter апреля 11, 01:33
Про школьников и Навального http://dlvr.it/QP6nMt

Мой твиттер

Копирайт

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

© Copyright 2008