مرحبا أي شخص ،
كما ذكر العنوان ، فإن الكود الذي تم تشغيله مع العقدة 10 ، لا يعمل مع العقدة 12 ، فإنه يذكر:
فقد الاتصال - 3540: الخطأ: 1425F102 : إجراءات SSL بروتوكول غير مدعوم
{"message": "فشل الاتصال بالمضيف المحلي : 1433 - لا يمكن الاتصال بالكتابة بعد إتلاف الدفق" ، "الرمز": "ESOCKET"}
أي مساعدة ؟ نظام التشغيل هو windows 10 64bit ، SQL Server 2012 64 بت
تم حل المشكلة!
مع العقدة 12+ ، تغير التكوين كـ :
تكوين const: ConnectionConfig = {
الخادم: '...'،
المصادقة: {type: 'default'، options: {userName: '...'، password: '...'}}،
الخيارات: {...، تشفير: خطأ }
}
يا @ c5soft! 👋
أتفهم أن تعطيل التشفير "حل" مشكلتك هنا. قد يكون هذا مقبولاً لحالة الاستخدام الخاصة بك ، لكن تعطيل التشفير ليس حلاً حقًا. 😅
بالنسبة لأولئك الذين يواجهون خطأ مشابهًا ، هذا لأنه منذ Node.js 12 ، تم تشديد إعدادات TLS الافتراضية. على الأرجح لا يدعم SQL Server الخاص بك TLS 1.2 ، ولكنه مطلوب افتراضيًا في Node.js 12. يمكنك تغيير هذا إما عن طريق علامة سطر أوامر عند بدء العقدة (على سبيل المثال --tls-min-v1.0
) ، أو عن طريق تمرير مخصص الخيار cryptoCredentialsDetails
للمنشئ Connection
الذي يحدد minVersion: 'TLSv1'
أو أي إصدار TLS تحتاج إلى استخدامه.
فقط في حالة تعامل شخص ما مع هذا ، حدث نفس الشيء مع activeDirectory2 للعقدة ، استنادًا إلى LDAPJS: أدت إضافة هذا الخيار إلى tlsOptions إلى حل المشكلة
تم حل المشكلة!
مع العقدة 12+ ، تغير التكوين كـ :
تكوين const: ConnectionConfig = {
الخادم: '...'،
المصادقة: {type: 'default'، options: {userName: '...'، password: '...'}}،
الخيارات: {...، تشفير: خطأ }
}
شكرا !!!
يا @ c5soft! 👋
أتفهم أن تعطيل التشفير "حل" مشكلتك هنا. قد يكون هذا مقبولاً لحالة الاستخدام الخاصة بك ، لكن تعطيل التشفير ليس حلاً حقًا. 😅
بالنسبة لأولئك الذين يواجهون خطأ مشابهًا ، هذا لأنه منذ Node.js 12 ، تم تشديد إعدادات TLS الافتراضية. على الأرجح لا يدعم SQL Server الخاص بك TLS 1.2 ، ولكنه مطلوب افتراضيًا في Node.js 12. يمكنك تغيير هذا إما عن طريق علامة سطر أوامر عند بدء العقدة (على سبيل المثال
--tls-min-v1.0
) ، أو عن طريق تمرير مخصص الخيارcryptoCredentialsDetails
للمنشئConnection
الذي يحددminVersion: 'TLSv1'
أو أي إصدار TLS تحتاج إلى استخدامه.
شكرا جزيلا!
يعمل في مشروعي nestjs!
لأولئك الذين لديهم نفس المشكلة في nestjs.
TypeOrmModule.forRoot({
type: 'mssql',
host: 'localhost',
port: 1433,
username: 'root',
password: 'root',
database: 'test',
entities: [],
synchronize: true,
options: {
cryptoCredentialsDetails: {
minVersion: 'TLSv1'
}
}
}),
التعليق الأكثر فائدة
تم حل المشكلة!
مع العقدة 12+ ، تغير التكوين كـ :
تكوين const: ConnectionConfig = {
الخادم: '...'،
المصادقة: {type: 'default'، options: {userName: '...'، password: '...'}}،
الخيارات: {...، تشفير: خطأ }
}