Соединение с сервером было прервано ненормально - PullRequest
0 голосов
/ 22 марта 2019

У меня есть сервер django-python с интерфейсом VBA, соединяющимся с помощью winhttp и REST API.Таким образом, в этом случае запросы, отправляемые и получаемые, контролируются нами и определяются по отдельности.

Некоторое время назад, когда наши серверы были обновлены до TLS из SSL, у нас было много пользователей, сталкивающихся с "ненормальным разрывом соединения"ошибка при использовании VBA Winhttp и REST API.Мы использовали существующую статью о Microsoft для обновления компьютеров пользователей на Windows 7, и проблема была решена.Совсем недавно у меня было несколько случаев такой же ошибки, когда патч / обновление применялись ранее или его приложение не решало проблему.

Я не вижу их входящий трафик в журнале нашего сервера вообще(некоторые используют прокси-серверы), но даже ip прокси-сервера не существует.

Я пытаюсь выяснить, где искать или что еще может вызвать эту проблему, чтобы я мог отследить ее.Любая идея / предложение приветствуется.

Источник: Обновление для включения TLS 1.1 и TLS 1.2 в качестве безопасных протоколов по умолчанию в WinHTTP в Windows

1 Ответ

0 голосов
/ 15 апреля 2019

Это для справки для будущих посетителей с подобной проблемой:

Я некоторое время сталкивался с проблемой TLS на клиентах Windows 7 и выполнил один раунд исправлений на основе статьи Microsoft, кратко изложенной ниже:

Шаг 1. Получите обновление Microsoft KB3140245: Загрузите соответствующую (32-разрядную или 64-разрядную версию Windows для пользователя) Обновление протокола безопасности Microsoft и установите, если она еще не установлена.

Шаг 2. Загрузите Microsoft Easy Fix: Загрузите Microsoft «Easy Fix» из Статья поддержки Microsoft и выполните настройку TLS 1.1+ по умолчанию.

Однако позже у меня был еще один раунд подобных проблем, который заставил меня понять, что инструмент исправления на странице Microsoft не установит все ключи реестра (отсутствуют ключи реестра SChannel).Итак, мне удалось собрать несколько сценариев, чтобы обеспечить полное исправление, настроив и Свойства обозревателя, и SChannel.Необходимо добавить разделы реестра SChannel для TLS1.1 / 1.2, чтобы установить включение TLS по умолчанию для Winhttp.

Ключи WinHttp:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
==> DWORD DefaultSecureProtocols=0x00000A00 (32-bits and 64-bits)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
==> DWORD DefaultSecureProtocols=0x00000A00 (64-bits)

Ключи SCHANNEL:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client 
==> DWORD DisabledByDefault=0x00000000

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
==> DWORD DisabledByDefault=0x00000000

Комплексное исправление : Исправление Microsoft не исправляет все записи реестра для обновления значений по умолчанию WinHTTP и пропускает записи SChannel.Таким образом, если двухэтапное исправление abpve не решило проблему, этот проект github содержит сценарии powershell для загрузки и применения всех необходимых изменений реестра, перечисленных выше, и может быть полезен для более комплексного одноразового исправления: Winttp-TLS

...