Hai, siapa pun,
seperti judul yang disebutkan, kode yang berfungsi dengan simpul 10, tidak berfungsi dengan simpul 12, ia melaporkan:
Sambungan terputus - 3540: routines:ssl_choose_client_version : protokol tidak didukung
{"message":"Gagal terhubung ke localhost:1433 - Tidak dapat memanggil tulis setelah aliran dihancurkan","code":"ESOCKET"}
ada bantuan? OS adalah windows 10 64bit, SQL Server 2012 64bit
masalah terpecahkan!
dengan node 12+, konfigurasi berubah sebagai:
const config: ConnectionConfig = {
pelayan: '...',
otentikasi: { ketik: 'default', opsi: { namapengguna: '...', kata sandi: '...' } },
opsi: { ..., enkripsi: salah }
}
Hai @c5soft! 👋
Saya mengerti bahwa menonaktifkan enkripsi "memecahkan" masalah Anda di sini. Ini mungkin dapat diterima untuk kasus penggunaan Anda, tetapi menonaktifkan enkripsi bukanlah solusi. 😅
Bagi mereka yang mengalami kesalahan serupa, ini karena sejak Node.js 12, pengaturan TLS default diperketat. Kemungkinan besar SQL Server Anda tidak mendukung TLS 1.2, tetapi itu diperlukan secara default di Node.js 12. Anda dapat mengubah ini baik melalui tanda baris perintah saat memulai node (misalnya --tls-min-v1.0
), atau dengan meneruskan kustom cryptoCredentialsDetails
opsi ke Connection
yang menentukan minVersion: 'TLSv1'
atau versi TLS apa pun yang perlu Anda gunakan.
Untuk berjaga-jaga jika seseorang mengalami ini, hal yang sama terjadi dengan activeDirectory2 untuk node, berdasarkan LDAPJS: menambahkan opsi itu ke tlsOptions memecahkan masalah
masalah terpecahkan!
dengan node 12+, konfigurasi berubah sebagai:
const config: ConnectionConfig = {
pelayan: '...',
otentikasi: { ketik: 'default', opsi: { namapengguna: '...', kata sandi: '...' } },
opsi: { ..., enkripsi: salah }
}
Terima kasih !!!
Hai @c5soft! 👋
Saya mengerti bahwa menonaktifkan enkripsi "memecahkan" masalah Anda di sini. Ini mungkin dapat diterima untuk kasus penggunaan Anda, tetapi menonaktifkan enkripsi bukanlah solusi. 😅
Bagi mereka yang mengalami kesalahan serupa, ini karena sejak Node.js 12, pengaturan TLS default diperketat. Kemungkinan besar SQL Server Anda tidak mendukung TLS 1.2, tetapi itu diperlukan secara default di Node.js 12. Anda dapat mengubah ini baik melalui tanda baris perintah saat memulai node (misalnya
--tls-min-v1.0
), atau dengan meneruskan kustomcryptoCredentialsDetails
opsi keConnection
yang menentukanminVersion: 'TLSv1'
atau versi TLS apa pun yang perlu Anda gunakan.
Terima kasih banyak!
ini berfungsi di proyek nestjs saya!
bagi mereka yang memiliki masalah yang sama di nestjs.
TypeOrmModule.forRoot({
type: 'mssql',
host: 'localhost',
port: 1433,
username: 'root',
password: 'root',
database: 'test',
entities: [],
synchronize: true,
options: {
cryptoCredentialsDetails: {
minVersion: 'TLSv1'
}
}
}),
Komentar yang paling membantu
masalah terpecahkan!
dengan node 12+, konfigurasi berubah sebagai:
const config: ConnectionConfig = {
pelayan: '...',
otentikasi: { ketik: 'default', opsi: { namapengguna: '...', kata sandi: '...' } },
opsi: { ..., enkripsi: salah }
}