Hallo, irgendjemand,
Wie im Titel erwähnt, funktioniert der Code mit Knoten 10, funktioniert nicht mit Knoten 12, er meldet:
Verbindung verloren - 3540: error:1425F102 :SSL routines:ssl_choose_client_version :unsupported protocol:c :\ws\deps\openssl\openssl\ssl\statem\statem_lib.c:1922:
{"message":"Verbindung zu localhost fehlgeschlagen
irgendeine Hilfe ? das Betriebssystem ist Windows 10 64bit, SQL Server ist 2012 64bit
Problem gelöst!
mit Knoten 12+, Konfiguration geändert als:
const config: ConnectionConfig = {
Server: '...',
Authentifizierung: { Typ: 'Standard', Optionen: { Benutzername: '...', Passwort: '...' } },
Optionen: { ..., verschlüsseln:false }
}
Hey @c5soft! 👋
Ich verstehe, dass das Deaktivieren der Verschlüsselung Ihr Problem hier "gelöst" hat. Dies mag für Ihren Anwendungsfall akzeptabel sein, aber das Deaktivieren der Verschlüsselung ist nicht wirklich eine Lösung. 😅
Für diejenigen, die auf einen ähnlichen Fehler stoßen, liegt dies daran, dass seit Node.js 12 die Standard-TLS-Einstellungen verschärft wurden. Höchstwahrscheinlich unterstützt Ihr SQL Server TLS 1.2 nicht, aber es ist standardmäßig in Node.js 12 erforderlich. Sie können dies entweder über ein Befehlszeilen-Flag beim Starten von Node ändern (zB --tls-min-v1.0
) oder indem Sie ein benutzerdefiniertes cryptoCredentialsDetails
Option für den Connection
Konstruktor, der minVersion: 'TLSv1'
oder eine beliebige TLS-Version angibt, die Sie verwenden müssen.
Für den Fall, dass jemand darauf stößt, passierte das gleiche mit activeDirectory2 for node, basierend auf LDAPJS: Das Hinzufügen dieser Option zu tlsOptions löste das Problem
Problem gelöst!
mit Knoten 12+, Konfiguration geändert als:
const config: ConnectionConfig = {
Server: '...',
Authentifizierung: { Typ: 'Standard', Optionen: { Benutzername: '...', Passwort: '...' } },
Optionen: { ..., verschlüsseln:false }
}
Danke !!!
Hey @c5soft! 👋
Ich verstehe, dass das Deaktivieren der Verschlüsselung Ihr Problem hier "gelöst" hat. Dies mag für Ihren Anwendungsfall akzeptabel sein, aber das Deaktivieren der Verschlüsselung ist nicht wirklich eine Lösung. 😅
Für diejenigen, die auf einen ähnlichen Fehler stoßen, liegt dies daran, dass seit Node.js 12 die Standard-TLS-Einstellungen verschärft wurden. Höchstwahrscheinlich unterstützt Ihr SQL Server TLS 1.2 nicht, aber es ist standardmäßig in Node.js 12 erforderlich. Sie können dies entweder über ein Befehlszeilen-Flag beim Starten von Node ändern (zB
--tls-min-v1.0
) oder indem Sie ein benutzerdefiniertescryptoCredentialsDetails
Option für denConnection
Konstruktor, derminVersion: 'TLSv1'
oder eine beliebige TLS-Version angibt, die Sie verwenden müssen.
Vielen Dank!
es funktioniert in meinem nestjs-Projekt!
für diejenigen, die das gleiche Problem in nestjs haben.
TypeOrmModule.forRoot({
type: 'mssql',
host: 'localhost',
port: 1433,
username: 'root',
password: 'root',
database: 'test',
entities: [],
synchronize: true,
options: {
cryptoCredentialsDetails: {
minVersion: 'TLSv1'
}
}
}),
Hilfreichster Kommentar
Problem gelöst!
mit Knoten 12+, Konfiguration geändert als:
const config: ConnectionConfig = {
Server: '...',
Authentifizierung: { Typ: 'Standard', Optionen: { Benutzername: '...', Passwort: '...' } },
Optionen: { ..., verschlüsseln:false }
}