"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मेरे Azure SQL डेटाबेस को v12 में अपग्रेड करने के बाद मुझे TLS हैंडशेक त्रुटि क्यों मिल रही है?

मेरे Azure SQL डेटाबेस को v12 में अपग्रेड करने के बाद मुझे TLS हैंडशेक त्रुटि क्यों मिल रही है?

2024-12-21 को प्रकाशित
ब्राउज़ करें:730

Why am I getting a TLS Handshake error after upgrading my Azure SQL Database to v12?

V12 अपग्रेड के बाद Azure SQL डेटाबेस TLS हैंडशेक त्रुटि

Azure SQL डेटाबेस इंस्टेंस को v12 में अपग्रेड करने के बाद आपको TLS हैंडशेक त्रुटि का सामना करना पड़ सकता है . यह त्रुटि तब होती है जब सर्वर द्वारा प्रस्तुत प्रमाणपत्र क्लाइंट के कनेक्शन स्ट्रिंग में निर्दिष्ट होस्टनाम से मेल नहीं खाता है।

त्रुटि विवरण

त्रुटि संदेश आम तौर पर इंगित करता है कि प्रमाणपत्र क्लाइंट कनेक्शन में उपयोग किए गए होस्टनाम के अलावा किसी अन्य होस्टनाम के लिए मान्य है। उदाहरण के लिए:

TLS Handshake failed: x509: certificate is valid for
tr12.northcentralus1-a.worker.database.windows.net,
*.tr12.northcentralus1-a.worker.database.windows.net, not [server-name].database.windows.net

Solution

इसे हल करने के लिए समस्या, निम्नलिखित को शामिल करने के लिए क्लाइंट कनेक्शन स्ट्रिंग को अपडेट करें पैरामीटर:

  • TrustServerCertificate=True: यह पैरामीटर क्लाइंट को सर्वर के प्रमाणपत्र पर भरोसा करने के लिए कहता है, भले ही वह होस्टनाम से मेल न खाता हो।
  • hostNameInCertificate=*.database.windows.net: यह पैरामीटर उस होस्टनाम को निर्दिष्ट करता है जो मौजूद होना चाहिए सर्वर का प्रमाणपत्र।

अद्यतित कनेक्शन स्ट्रिंग

अद्यतन कनेक्शन स्ट्रिंग कुछ इस तरह दिखनी चाहिए:

Server=[server-name].database.windows.net;Port=1433;Database=[dbname];User
ID=[user];Password=[pass];Trusted_Connection=False;Encrypt=True;Connection
Timeout=30;TrustServerCertificate=True;hostNameInCertificate=*.database.windows.net;

स्पष्टीकरण

Azure SQL डेटाबेस के पिछले संस्करणों में, सर्वर का प्रमाणपत्र हमेशा मेल खाता था क्लाइंट कनेक्शन स्ट्रिंग में निर्दिष्ट होस्टनाम। हालाँकि, v12 में, इसकी अब कोई गारंटी नहीं है। TrustServerCertificate को True पर सेट करके औरhostNameInCertificate में सही होस्टनाम निर्दिष्ट करके, आप क्लाइंट को प्रमाणपत्र स्वीकार करने और कनेक्शन ठीक से स्थापित करने का निर्देश दे सकते हैं।

नोट:

हालांकि Azure पोर्टल TrustServerCertificate को गलत पर सेट करने का सुझाव देता है, इससे कुछ मामलों में TLS हैंडशेक त्रुटियां हो सकती हैं। यदि आप इन त्रुटियों का सामना करते हैं, तो TrustServerCertificate को True पर सेट करना और कनेक्शन स्ट्रिंग मेंhostNameInCertificate जोड़ने से समस्या का समाधान हो जाना चाहिए।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3