MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB स्व-हस्ताक्षरित एसएसएल कनेक्शन:एसएसएल सहकर्मी प्रमाणपत्र सत्यापन विफल

कुछ खोज के बाद, ऐसा लगता है कि यह त्रुटि इस तथ्य के कारण है कि होस्टनाम "सीएन" गलत था।

digitalocean<से /ए> :

जब भी आप कोई सीएसआर जनरेट करते हैं, तो आपको प्रमाणपत्र के संबंध में जानकारी प्रदान करने के लिए कहा जाएगा। इस जानकारी को एक विशिष्ट नाम (DN) के रूप में जाना जाता है। DN में एक महत्वपूर्ण फ़ील्ड सामान्य नाम (CN) है, जो उस होस्ट का सटीक पूर्णतः योग्य डोमेन नाम (FQDN) होना चाहिए जिसके साथ आप प्रमाणपत्र का उपयोग करना चाहते हैं।

साथ ही MongoDB दस्तावेज़ीकरण से :

यदि आपका MongoDB परिनियोजन SSL का उपयोग करता है, तो आपको --host विकल्प भी निर्दिष्ट करना होगा। mongo सत्यापित करता है कि आप जिस mongod या mongos से कनेक्ट कर रहे हैं उसका होस्टनाम mongod या mongos के --sslPEMKeyFile प्रमाणपत्र के CN या SAN से मेल खाता है। यदि होस्टनाम CN/SAN से मेल नहीं खाता है, तो mongo कनेक्ट करने में विफल हो जाएगा।

समाधान:

मैंने कुंजियों को फिर से बनाया, लोकलहोस्ट को CN =<होस्टनाम में किसी अन्य होस्टनाम से बदल दिया> और गाइड को पूरा किया by Wan Bachtiar

काम पूरा होने के बाद निम्नलिखित कमांड चलाना:

$ mongo --port 27017 -u '<_username_>' -p '<_password_>' 
--authenticationDatabase "<_my db_>" --ssl --sslPEMKeyFile 
/etc/ssl/client.pem  --sslCAFile /etc/ssl/ca.pem --host localhost

नोट:MongoDB एक सख्त निर्णय का पालन करता है जिसके पास किस db तक पहुंच है, मोंगो शेल में एक त्वरित परीक्षण:

एक त्रुटि वापस करें। हालांकि, मेरे उपयोगकर्ता के पास वास्तव में केवल "<my db . में निर्दिष्ट डीबी तक पहुंच है>", इसलिए "<my db . में पंक्तियों के माध्यम से लूपिंग>" पूरी तरह से काम करता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. इंडेक्स इंटरसेक्शन बनाम कंपाउंड इंडेक्स?

  2. मोंगोडीबी $वर्ष

  3. MongoDB:धीमी क्वेरी, यहां तक ​​कि अनुक्रमणिका के साथ भी

  4. MongoDb पृष्ठभूमि अनुक्रमण और अद्वितीय अनुक्रमणिका

  5. अपाचे-स्पार्क के साथ मोंगोडब को जोड़ने पर क्वेरी कैसे करें