sql >> Database >  >> NoSQL >> MongoDB

MongoDB Zelfondertekende SSL-verbinding:validatie van SSL-peercertificaat mislukt

Na wat zoeken lijkt het erop dat deze fout te wijten is aan het feit dat de hostnaam "CN" onjuist was.

Van digitalocean :

Telkens wanneer u een CSR genereert, wordt u gevraagd om informatie over het certificaat te verstrekken. Deze informatie staat bekend als een Distinguised Name (DN). Een belangrijk veld in de DN is de Common Name (CN), die de exacte FQDN (Fully Qualified Domain Name) moet zijn van de host waarmee u het certificaat wilt gebruiken.

Ook van MongoDB documentatie :

Als uw MongoDB-implementatie SSL gebruikt, moet u ook de optie --host opgeven. mongo controleert of de hostnaam van de mongod of mongo's waarmee u verbinding maakt, overeenkomt met de CN of SAN van het --sslPEMKeyFile-certificaat van de mongod of mongo's. Als de hostnaam niet overeenkomt met de CN/SAN, kan mongo geen verbinding maken.

OPLOSSING:

Ik heb de sleutels opnieuw gegenereerd, localhost vervangen door een andere hostnaam in de CN =<hostnaam> en voltooide de gids door Wan Bachtiar .

Het uitvoeren van de volgende opdracht na voltooiing werkte:

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

Opmerking:de MongoDB volgt een strikte regel over wie toegang heeft tot welke db, een snelle test in de mongo-shell:

een fout terugsturen. Mijn gebruiker heeft echter eigenlijk alleen toegang tot de db gespecificeerd in "<mijn db>", dus loop door de rijen in "<mijn db>>" werkt perfect.




  1. fout bij het volgen van Tumblelog Application met Flask en MongoEngine

  2. $project in $lookup mongodb

  3. Mongoose gooit fout 'Veld staat niet in schema' bij het tweemaal definiëren van een veld

  4. Mongodb wil niet starten