2017-10-30 14 views
0

私はMongoDb CommunityをUbuntuにインストールし、他のサーバーから接続したいと考えています。MongoDbサーバーはリモート接続を拒否します

# security: 
# authorization: 'enabled' 

しかし、私はコメントを外したときに、私はこのエラーを取得:

No connection could be made because the target machine actively refused it 

bindIpは両方のケースで

# bindIp: 127.0.0.1 
をコメント化されて、私はそれが動作するこれらの行をコメント /etc/mongod.confファイルでは、

インストール直後、私はこの方法でユーザーを作成しました:

use DataDb 

db.createUser({ 
    user: 'u1', 
    pwd: 'secretPassword', 
    roles: [{ role: 'readWrite', db:'DataDb'}] 
}) 
と私の接​​続文字列は、このようなものです:

var client = new MongoClient("mongodb://u1:[email protected]:27017/DataDb"); 

何が悪いのでしょうか?ありがとう。

+0

イエス・キリストを見つける:この

チェック)。公開されているMongoDBサーバーを保護することの半分は認証でもありません。最低限必要なのは、TLS暗号化と何らかのブルートフォースブロッカーです。さらにそれらの質問はhttp://dba.stackexchange.comに属します –

+0

@ MarkusWMahlbergあなたは私を恐れています!サーバーがある特定のIPからの接続を受け入れて残りのすべてを拒否しても、安全ではありませんか? – Blendester

+0

これは明らかに引用符を「有効」から取り除いて動作します – Blendester

答えて

-1

bindIpが設定されていない場合、mongodbはソケットのみをlistenします。 設定してください:

bindIp: [127.0.0.1,xxx.xx.xxx.xxx] 

それはあなたのインターフェイスのIPですxxx.xx.xxx.xxxところ。

しかし、セキュリティ上の理由でPUBLIC IPを使用しないでください。 Configuration File Options

[認証の設定に関するドキュメント](https://docs.mongodb.com/manual/tutorial/enable-authentication/#procedureを読んで、net.unixDomainSocket.enabled

+0

申し訳ありませんが、私はあなたが意味するものを得ていません。私はリモートでMongoDbに接続したい – Blendester

+0

bindIp - あなたのmongodbが聞くインターフェースがmongoに設定されています。すべてのインターフェイスまたは公開IPに対して0.0.0.0を設定できます。たとえば、サーバーのアドレスは192.168.0.1(プライベート)とx.x.x.x(パブリック)です。 bindIp:[127.0.0.1,192.168.0.1]を設定できます。この場合、192.168.0.1アドレスでmongoに接続できますが、x.x.x.xでは許可されません。 –

+0

接続を有効にしても、これは完全に危険な*アドバイスです。背景:資格情報とデータは暗号化されていない*に転送されます。 –

関連する問題