NW. js / Node.js выдает ошибку «Подпрограммы SSL: ssl_choose_client_version: неподдерживаемый протокол» при использовании node-ms sql / tedious - PullRequest
0 голосов
/ 14 апреля 2020

Я уже нашел ответ на эту проблему и просто хочу задокументировать свои результаты.

При использовании последних версий NW. jsNode.js), у меня были проблемы с node-ms sql / утомительным модулем. Даже такая простая задача, как подключение к серверу SQL Server , выдает процедуры SSL: ssl_choose_client_version: неподдерживаемый протокол ошибка.

1 Ответ

0 голосов
/ 14 апреля 2020

Причина, по которой выдается ошибка, связана с изменением Node.js 12 . Начиная с версии 12, настройки TLS были ужесточены, и TLS 1.2 требуется по умолчанию. Подпрограммы SSL: ssl_choose_client_version: неподдерживаемый протокол ошибка будет выдана, если сервер SQL Сервер не поддерживает TLS 1.2 .

In Узел , можно изменить настройку по умолчанию, используя флаг командной строки --tls-min-v1.0 при запуске узла. Поскольку NW не имеет возможности передать флаг командной строки в контекст Node , решение состоит в том, чтобы установить пользовательскую опцию cryptoCredentialsDetails в конфигурации соединения, которая задает minVersion: 'TLSv1' , например:

mssql.connect({
    user: "this.user",
    password: "this.password",
    server: "this.server",
    database: "this.database",
    options: {
        cryptoCredentialsDetails: {
            minVersion: 'TLSv1'
        }
    }
});
...