Ho installato con successo MongoDB su Windows (su un computer locale) come servizio, ma ora voglio spostare MongoDb su un server separato. Così ho estratto il tarball su un server virtuale sulla rete (eseguendo linux).
Quando mi sono collegato al server (“testmongoserver”) usando PuTTY dal mio computer locale, ho avviato il server mongod e mi ha detto che stava ascoltando la porta 28017 predefinita. Anche la console mongo funziona e mi ha permesso di creare un nuovo database (testdb) e di aggiungervi utenti.
Tuttavia, non ho potuto accedere al server da remoto. Quando testmongoserver:28017
non apre la console HTTP come localhost:28017
sul mio computer locale. Inoltre, non riesco a collegarmi utilizzando driver ufficiali e fornendo un connectiontring.
Quali sono i passaggi necessari per installare MongoDB su Linux, in modo che potessi accedervi da una macchina remota con un connectiontring e utilizzare la sua console HTTP tramite testmongoserver:28017
Grazie!
La porta predefinita per mongo è 27017. 28017 – porta per webstats.
Vedi http://www.mongodb.org/display/DOCS/Security+and+Authentication#SecurityandAuthentication-Ports
Bind IP è un’opzione MongoDB che limita le connessioni agli IP specifici.
Dai un’occhiata al tuo file di configurazione di mongod, il più delle volte bind_ip è impostato su 127.0.0.1
per ovvi motivi di sicurezza. Puoi:
#
carattere) la linea bind_ip
. Ma tieni presente che tutte le connessioni remote saranno in grado di connettere il tuo server MongoDB! Ulteriori informazioni bind_ip
configurazione bind_ip
: https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp
Bind IP può anche essere impostato come argomento di comando: http://docs.mongodb.org/manual/reference/program/mongod/#cmdoption–bind_ip
Verifica di non essere in esecuzione dietro un firewall
Assicurati che nel tuo file /etc/mongodb.conf hai la seguente riga,
bind_ip = 0.0.0.0
http://jitu-blog.blogspot.com.br/2013/06/allow-mongo-to-connect-from-remote-ip.html
Ho appena avuto questo problema e questo l’ha risolto:
Modifica /etc/mongod.conf
con sudo nano /etc/mongod.conf
assicurati che la sezione net abbia un aspetto simile al seguente (l’associazione localhost per impostazione predefinita non consente l’accesso remoto):
# network interfaces net: port: 27017 bindIp: 0.0.0.0
Assicurati di riavviare mongod quando hai finito con sopra (assumendo systemd ubuntu 16.04+ ecc.):
sudo service mongod restart
Ovviamente dal punto di vista della sicurezza se stai per aprire il mongo alla tua rete / il mondo sii consapevole delle implicazioni di questo (se esiste)
Un altro problema potrebbe essere che la porta mongodb non è abilitata. Verifica, da un altro host, le porte abilitate sul tuo server. Per questo puoi usare il comando:
sudo nmap -P0 your_server_ip
Puoi ottenere una risposta come questa:
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
Se si utilizza un server virtuale nel cloud, come AWS, è necessario aggiungere una nuova regola per aggiungere la porta mongodb (27017 per impostazione predefinita).
Importante : nota che con questa configurazione chiunque può avere accesso al tuo database