sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB självsignerad SSL-anslutning:SSL-peer-certifikatvalidering misslyckades

Efter lite sökning verkar det som om det här felet beror på att värdnamnet "CN" var felaktigt.

Från digitalocean :

När du genererar en CSR kommer du att bli ombedd att tillhandahålla information om certifikatet. Denna information är känd som ett Distinguised Name (DN). Ett viktigt fält i DN är Common Name (CN), som bör vara det exakta Fully Qualified Domain Name (FQDN) för den värd som du tänker använda certifikatet med.

Även från MongoDB dokumentation :

Om din MongoDB-distribution använder SSL måste du också ange alternativet --host. mongo verifierar att värdnamnet för mongoden eller mongos som du ansluter till matchar CN eller SAN för mongod eller mongos --sslPEMKeyFile-certifikat. Om värdnamnet inte matchar CN/SAN kommer mongo inte att ansluta.

LÖSNING:

Jag regenererade nycklarna, ersatte localhost med något annat värdnamn i CN =<hostname> och slutförde guiden av Wan Bachtiar .

Att köra följande kommando efter slutförandet fungerade:

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

Obs:MongoDB följer en strikt reglering av vem som har tillgång till vilken db, ett snabbt test i mongo-skalet:

returnera ett fel. Men min användare har faktiskt bara tillgång till den db som anges i "<min db>", så gå igenom raderna i "<min db>" fungerar perfekt.




  1. Sortera kapslad array av objekt

  2. Övervaka och säkra MongoDB med ClusterControl Advisors

  3. MongoDB - distinkt med fråga använder inte index

  4. Kan inte ansluta till lokal mongoDB från java