MongoDBをWindowsに(ローカルマシンに)サービスとして正常にインストールしましたが、MongoDbを別のサーバーに移動したいと思います。そこで、tarballをネットワーク上の仮想サーバー(Linuxを実行)に抽出しました。
ローカルマシンからPuTTYを使用してサーバー(「testmongoserver」)に接続すると、mongodサーバーを起動し、デフォルトの28017ポートをリッスンしていることがわかりました。 mongoコンソールも機能しており、新しいデータベース(testdb)を作成してユーザーを追加できました。
しかし、リモートからサーバーにアクセスできませんでした。 testmongoserver:28017
と入力しても、ローカルマシンのlocalhost:28017
のようにHTTPコンソールは開きません。また、公式ドライバーを使用して接続文字列を提供することもできません。
LinuxにMongoDBをインストールするための必要な手順は何ですか。そのため、接続文字列を使用してリモートマシンからMongoDBにアクセスし、testmongoserver:28017
経由でHTTPコンソールを使用できます。
ありがとう!
Mongoのデフォルトポートは27017です。28017-webstatsのポート。
http://www.mongodb.org/display/DOCS/Security+and+Authentication#SecurityandAuthentication-Ports を参照してください
バインドIPは、特定のIPへの接続を制限するMongoDBオプションです。
Mongod構成ファイルを見てください。ほとんどの場合bind_ipは、明らかなセキュリティ上の理由から127.0.0.1
に設定されています。あなたはできる:
#
行を(bind_ip
文字で)削除またはコメント化します。ただし、すべてのリモート接続がMongoDBサーバーに接続できることに注意してください!bind_ip
構成オプションの詳細: https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp
バインドIPはコマンド引数としても設定できます: http://docs.mongodb.org/manual/reference/program/mongod/#cmdoption--bind_ip
ファイアウォールの内側で実行していないことを確認してください
/etc/mongodb.conf
ファイルには次の行があります。
bind_ip = 0.0.0.0
http://jitu-blog.blogspot.com.br/2013/06/allow-mongo-to-connect-from-remote-ip.html
この問題が発生し、修正されました。
編集/etc/mongod.conf
with Sudo nano /etc/mongod.conf
ネットセクションが次のようになっていることを確認します(デフォルトでは、localhostバインドではリモートアクセスが許可されません)。
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
上記の作業が完了したら、mongodを必ず再起動してください(systemd ubuntu 16.04+などを想定):
Sudo service mongod restart
明らかにセキュリティの観点から、もしあなたがあなたのネットワークにmongoを開放しようとするなら/世界はこれの意味を知っている(もしあれば)
別の問題は、mongodbポートが有効になっていないことです。別のホストから、サーバーで有効になっているポートを確認します。そのためには、次のコマンドを使用できます。
Sudo nmap -P0 your_server_ip
このような答えを得ることができます:
Host is up (0.052s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
AWSとしてクラウドで仮想サーバーを使用する場合、mongodbポート(デフォルトでは27017)を追加する新しいルールを追加する必要があります。
重要:この構成では誰でもデータベースにアクセスできることに注意してください