J’ai réussi à installer MongoDB sur Windows (sur une machine locale) en tant que service, mais maintenant je veux déplacer MongoDb sur un serveur séparé. J’ai donc extrait l’archive tar sur un serveur virtuel sur le réseau (sous Linux).
Lorsque je me suis connecté au serveur (“testmongoserver”) en utilisant PuTTY depuis mon ordinateur local, j’ai démarré le serveur mongod et il m’a dit qu’il écoutait le port 28017 par défaut. La console mongo fonctionne également et m’a permis de créer une nouvelle firebase database (testdb) et d’y append des utilisateurs.
Cependant, je ne pouvais pas accéder au serveur à distance. Lorsque je tape testmongoserver:28017
la console HTTP ne s’ouvre pas comme localhost:28017
sur ma machine locale. Je ne peux pas non plus me connecter en utilisant des pilotes officiels et en fournissant une chaîne de connexion.
Quelles sont les étapes nécessaires pour installer MongoDB sous Linux, afin de pouvoir y accéder depuis une machine distante avec une testmongoserver:28017
connexion et utiliser sa console HTTP via testmongoserver:28017
Merci!
Le port par défaut pour mongo est 27017. 28017 – port pour webstats.
Voir http://www.mongodb.org/display/DOCS/Security+and+Authentication#SecurityandAuthentication-Ports
Bind IP est une option MongoDB qui limite les connexions aux adresses IP spécifiques.
Jetez un coup d’œil à votre fichier de configuration mongod. La plupart du temps, bind_ip est défini sur 127.0.0.1
pour des raisons de sécurité évidentes. Vous pouvez:
#
caractère #
) la ligne bind_ip
. Mais sachez que toutes les connexions à distance pourront connecter votre serveur MongoDB! En savoir plus sur l’option de configuration bind_ip
: https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp
Bind IP peut également être défini comme argument de commande: http://docs.mongodb.org/manual/reference/program/mongod/#cmdoption–bind_ip
Vérifiez que vous ne courez pas derrière un pare-feu
Assurez-vous que dans votre fichier /etc/mongodb.conf vous avez la ligne suivante,
bind_ip = 0.0.0.0
http://jitu-blog.blogspot.com.br/2013/06/allow-mongo-to-connect-from-remote-ip.html
Juste eu ce problème et cela a résolu le problème:
Editez /etc/mongod.conf
avec sudo nano /etc/mongod.conf
assurez-vous que la section net ressemble à la suivante (la liaison localhost par défaut ne permet pas l’access à distance):
# network interfaces net: port: 27017 bindIp: 0.0.0.0
Assurez-vous de redémarrer mongod lorsque vous avez terminé avec ci-dessus (en supposant que systemd ubuntu 16.04+, etc.):
sudo service mongod restart
De toute évidence, du sharepoint vue de la sécurité, si vous allez ouvrir mongo à votre réseau / le monde sera conscient de ses implications (le cas échéant).
Un autre problème peut être que le port mongodb n’est pas activé. Vérifiez, à partir d’un autre hôte, les ports activés sur votre serveur. Pour cela vous pouvez utiliser la commande:
sudo nmap -P0 your_server_ip
Vous pouvez obtenir une réponse comme celle-ci:
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
Si vous utilisez un serveur virtuel dans le cloud, comme AWS, vous devez append une nouvelle règle pour append le port mongodb (27017 par défaut).
Important : Notez qu’avec cette configuration, tout le monde peut avoir access à votre firebase database