MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Samopodpisane połączenie SSL MongoDB:weryfikacja równorzędnego certyfikatu SSL nie powiodła się

Po kilku poszukiwaniach wygląda na to, że ten błąd wynika z faktu, że nazwa hosta „CN” była nieprawidłowa.

Od digitalocean :

Za każdym razem, gdy generujesz CSR, zostaniesz poproszony o podanie informacji dotyczących certyfikatu. Ta informacja jest znana jako nazwa wyróżniająca (DN). Ważnym polem w DN jest nazwa pospolita (CN), która powinna być dokładną w pełni kwalifikowaną nazwą domeny (FQDN) hosta, z którym zamierzasz używać certyfikatu.

Również z MongoDB dokumentacji :

Jeśli wdrożenie MongoDB korzysta z protokołu SSL, należy również określić opcję --host. mongo sprawdza, czy nazwa hosta mongod lub mongos, z którym się łączysz, jest zgodna z CN lub SAN certyfikatu --sslPEMKeyFile mongod lub mongos. Jeśli nazwa hosta nie pasuje do CN/SAN, mongo nie nawiąże połączenia.

ROZWIĄZANIE:

Zregenerowałem klucze, zastąpiłem localhost dowolną inną nazwą hosta w CN =<hostname> i wypełniłem przewodnik Wan Bachtiar .

Uruchomienie następującego polecenia po zakończeniu pracy:

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

Uwaga:MongoDB przestrzega ścisłej zasady, kto ma dostęp do jakiej bazy danych, szybki test w powłoce mongo:

zwrócić błąd. Jednak mój użytkownik w rzeczywistości ma dostęp tylko do bazy danych określonej w „<moja baza>”, więc przechodzenie przez wiersze w „<moja baza danych>" działa idealnie.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zwrócić ograniczoną liczbę rekordów określonego typu, ale nieograniczoną liczbę innych rekordów?

  2. Obiekty osadzone MongoDB nie mają identyfikatora (wartość pusta)

  3. MongoDB GridFS - Czy to nazwa pliku czy nazwa pliku?

  4. Porównaj osadzony dokument z polem nadrzędnym z mongoDB

  5. Różnica między Find i FindAsync