Обнаружено исключение гибридного подключения: ни один из подключенных слушателей не принял соединение в течение разрешенного времени ожидания - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть гибридное подключение к локальному серверу MSSQL, я пытаюсь получить доступ к нему из приложения Node.js.

Приложение Node.js изначально было настроено для подключения к базе данных Azure, но требования изменились, и теперь необходимо считывать данные с локального сервера.

Я использовал гибридные соединения раньше, но в приложениях .net aspx.

Первоначальная ошибка, которую я получил от приложения, была

 { 
    ConnectionError: Failed to connect to SERVERNAME:1433 in 15000ms
    at ConnectionError (D:\home\site\wwwroot\node_modules\tedious\lib\errors.js:12:12)
    at Connection.connectTimeout (D:\home\site\wwwroot\node_modules\tedious\lib\connection.js:944:28)
    at Timeout._onTimeout (D:\home\site\wwwroot\node_modules\tedious\lib\connection.js:913:16)
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)
    message: 'Failed to connect to SERVERNAME:1433 in 15000ms',
    code: 'ETIMEOUT' 
 }

Итак, я выполнил все обычные тесты подключения, проверил пользователей и разрешения SQL и т. Д.

Все указывало на гибридное соединение, но ретранслятор показывал соединение как на портале Azure, так и в диспетчере гибридных соединений на сервере.

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

HYBRIDCONNECTIVITY_LOGGING_ENABLED 1

Который выдал следующую ошибку.

Гибридное соединение Обнаружено исключение: ни один из подключенных слушателей не принял соединение в течение разрешенного времени ожидания.

К сожалению, я понятия не имею, что это значит, кто-нибудь сталкивался с ошибкой выше, поиск ошибки возвращает очень мало результатов.

Я получаю ту же ошибку, если использую SQLCMD из Azure, я перепробовал полные имена серверов, проверил необходимые порты и настройки брандмауэра, если я закрываю 443 https, исходящий, соединитель показывает отключенный.

1 Ответ

0 голосов
/ 27 ноября 2018

Хорошо, я решил это месяц назад, хотя адрес служебной шины был занесен в белый список, гибридный соединитель порождает несколько соединений для передачи данных, поэтому, хотя рукопожатие и исходное соединение не могли взаимодействовать с Azure, ничто иное не могло, следовательно, время из. Я попал в белый список всех областей Azure, в которых находилось мое реле. Вы можете скачать все диапазоны IP-адресов Azure Data Center здесь

Я нашел блог Мехди Ибрагима, вставленный выше, очень полезным, за последние 12 месяцев я был поражен каждой проблемой там.

...