sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB Selvsigneret SSL-forbindelse:SSL-peer-certifikatvalidering mislykkedes

Efter lidt søgning ser det ud til, at denne fejl skyldes, at værtsnavnet "CN" var forkert.

Fra digitalocean :

Hver gang du genererer en CSR, vil du blive bedt om at give oplysninger om certifikatet. Disse oplysninger er kendt som et Distinguised Name (DN). Et vigtigt felt i DN er Common Name (CN), som skal være det nøjagtige Fully Qualified Domain Name (FQDN) for den vært, som du har til hensigt at bruge certifikatet med.

Også fra MongoDB dokumentation :

Hvis din MongoDB-implementering bruger SSL, skal du også angive --host-indstillingen. mongo verificerer, at værtsnavnet på mongoden eller mongoerne, som du forbinder til, matcher CN eller SAN for mongoden eller mongoernes --sslPEMKeyFile-certifikat. Hvis værtsnavnet ikke matcher CN/SAN, vil mongo ikke kunne oprette forbindelse.

LØSNING:

Jeg regenererede nøglerne, erstattede localhost med ethvert andet værtsnavn i CN =<værtsnavn> og fuldførte guiden af Wan Bachtiar .

Kørsel af følgende kommando efter afslutning virkede:

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

Bemærk:MongoDB følger en streng bestemmelse af, hvem der har adgang til hvilken db, en hurtig test i mongo-skallen:

returnere en fejl. Min bruger har dog faktisk kun adgang til den db, der er angivet i "<min db>", så sløjfe gennem rækkerne i "<min db>" fungerer perfekt.




  1. Tilslutning til Mongo-database gennem SSH-tunnel i Java

  2. hvordan man opdaterer felter af et indlejret objekt i mongodb?

  3. Implementer for alle klasser BsonIgnoreExtraElements

  4. $elemMatch og opdatering