sql >> データベース >  >> NoSQL >> MongoDB

MongoDB自己署名SSL接続:SSLピア証明書の検証に失敗しました

    いくつか検索したところ、このエラーはホスト名「CN」が正しくなかったことが原因のようです。

    digitalocean<から/ a> :

    CSRを生成するたびに、証明書に関する情報を提供するように求められます。この情報は、識別名(DN)と呼ばれます。 DNの重要なフィールドは、共通名(CN)です。これは、証明書を使用する予定のホストの正確な完全修飾ドメイン名(FQDN)である必要があります。

    また、MongoDB ドキュメント から :

    MongoDBデプロイメントでSSLを使用する場合は、-hostオプションも指定する必要があります。 mongoは、接続している1つまたは複数のmongodのホスト名が、mongodまたはmongosの--sslPEMKeyFile証明書のCNまたはSANと一致することを確認します。ホスト名がCN/SANと一致しない場合、mongoは接続に失敗します。

    解決策:

    キーを再生成し、ローカルホストをCN =< hostname内の他のホスト名に置き換えました>そしてWanBachtiarによるガイド>> 。

    完了後に次のコマンドを実行すると、次のようになります。

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

    注:MongoDBは、誰がどのデータベースにアクセスできるかという厳密な決定に従います。これは、mongoシェルでの簡単なテストです。

    エラーを返します。ただし、実際には、ユーザーは「< mydb」で指定されたデータベースにしかアクセスできません。> "なので、" < my dbの行をループします>"は完全に機能します。




    1. MongoDBは、1対多の関係で子アイテムを表示します

    2. 同じRubyRailsプロジェクトでMongoMapperとActiveRecordを構成する方法

    3. Apache Hadoopオゾンセキュリティ–認証

    4. Ubuntu 16.04/18.04へのRedisのインストール