Почему AzureSearch SDK самопроизвольно завершается с ошибкой транспортного соединения? - PullRequest
3 голосов
/ 26 февраля 2020

Вчера у нас было какое-то большое волнение. Два наших веб-приложения (развернутые и не тронутые не менее 3 месяцев), использующие SDK AzureSearch, перестали работать в разное время (одно рано утром, другое вечером). Метод indexClient.Documents.Search начал сбой с этой ошибкой:

HTTPS-рукопожатие с XXXXsearch.search. windows. net (для # 435). System.IO.IOException Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. <Существующее соединение было принудительно закрыто удаленным хостом </em>

После безумной схватки Google мы добавили эти 3 строки непосредственно перед поиском, который это исправил.

            const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
            const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
            ServicePointManager.SecurityProtocol = Tls12;

Все, что я могу представьте, мы пропустили какую-то электронную почту "AzureSDK меняется"? Это было очень плохо, и нам повезло с быстрым решением, или это могло быть катастрофой. Кто-нибудь знает, почему это произошло?

Ответы [ 2 ]

4 голосов
/ 28 февраля 2020

Я менеджер программы в команде разработчиков Azure Cognitive Search. Прежде всего, мне жаль слышать, что у вас и у других были проблемы с подключением клиентов из-за последнего обновления службы, которое удалило поддержку TLS 1.0 и 1.1. Эти типы изменений встречаются редко, и мы стремимся никогда не нарушать код клиента в любом обновлении. В этом случае было важно защитить конфиденциальность информации, передаваемой через Inte rnet. TLS 1.2 - это стандарт, который обеспечивает улучшения безопасности по сравнению с предыдущими версиями. Вы можете узнать больше об этом здесь .

Более подробную информацию о том, как решить эту проблему, можно найти здесь . Мы настоятельно рекомендуем вам избегать жесткого кодирования версии TLS (как упомянуто выше), поскольку TLS 1.2 будет в конечном итоге заменен новейшим выпущенным стандартом TLS 1.3, который работает быстрее и имеет повышенную безопасность. Лучше позволить. NET или ОС выбрать версию TLS для вас, но это обсуждается более подробно в приведенных выше ссылках.

Мы отправили уведомление об этом предстоящем изменении на портале в начале января, но мы понимаем, что это легко пропустить и принести извинения за проблемы, которые это впоследствии вызвало. Пожалуйста, знайте, что мы хотим сделать все возможное, чтобы помочь. Поскольку нас просят не использовать StackOverflow для разрешения отдельных случаев поддержки, если вам нужна индивидуальная помощь в отношении ваших услуг, мы просим вас открыть заявку на поддержку .

0 голосов
/ 27 февраля 2020

Ошибки транспортного соединения являются результатом известной проблемы в Azure Поиск.

И иногда возникают непредвиденные проблемы с подключением. Попробуйте запустить документ через ваш индексатор позже. Для более подробной информации, вы можете обратиться к этой статье .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...