मुझे इस समस्या का उत्तर पहले ही मिल गया है और मैं अपनी खोज का दस्तावेजीकरण करना चाहता हूं।

NW.js (और Node.js) के हाल के संस्करणों का उपयोग करते समय, मुझे नोड-mssql / थकाऊ मॉड्यूल। यहां तक ​​कि एक SQL सर्वर सर्वर से कनेक्ट करने जैसा सरल कार्य भी एक SSL रूटीन:ssl_choose_client_version:unsupported protocol त्रुटि उत्पन्न करेगा।

4
toyssamurai 14 अप्रैल 2020, 01:31

1 उत्तर

सबसे बढ़िया उत्तर

त्रुटि का कारण Node.js 12 में परिवर्तन के कारण है। संस्करण 12 के बाद से, TLS सेटिंग्स को कड़ा कर दिया गया था, और डिफ़ॉल्ट रूप से TLS 1.2 आवश्यक है। यदि SQL सर्वर सर्वर TLS 1.2 का समर्थन नहीं करता है, तो SSL रूटीन:ssl_choose_client_version:असमर्थित प्रोटोकॉल त्रुटि उत्पन्न हो जाएगी।

नोड में, नोड प्रारंभ करते समय कमांड लाइन फ्लैग --tls-min-v1.0 का उपयोग करके डिफ़ॉल्ट सेटिंग को बदलना संभव है। चूंकि NW के पास नोड संदर्भ में कमांड लाइन फ़्लैग पास करने का कोई तरीका नहीं है, इसका समाधान कनेक्शन कॉन्फ़िगरेशन में एक कस्टम cryptoCredentialsDetails विकल्प सेट करना है जो निम्नलिखित की तरह minVersion: 'TLSv1' निर्दिष्ट करता है:

mssql.connect({
    user: "this.user",
    password: "this.password",
    server: "this.server",
    database: "this.database",
    options: {
        cryptoCredentialsDetails: {
            minVersion: 'TLSv1'
        }
    }
});
6
Dale K 13 अप्रैल 2020, 22:32