J'ai correctement installé MongoDB sous Windows (sur une machine locale) en tant que service, mais je souhaite maintenant déplacer MongoDb sur un serveur distinct. J'ai donc extrait l'archive sur un serveur virtuel du réseau (sous Linux).
Lorsque je me suis connecté au serveur ("testmongoserver") à l'aide de PuTTY à partir de ma machine locale, j'ai démarré le serveur Mongodod 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 base de données (testdb) et d’y ajouter des utilisateurs.
Cependant, je ne pouvais pas accéder au serveur à distance. Quand je tape testmongoserver:28017
_ il n’ouvre pas la console HTTP comme localhost:28017
sur ma machine locale. Je ne peux pas non plus me connecter avec des pilotes officiels et en fournissant une chaîne de connexion.
Quelles sont les étapes nécessaires pour installer MongoDB sur Linux, afin que je puisse y accéder depuis un ordinateur distant avec une chaîne de 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 de MongoDB qui limite les connexions à des adresses IP spécifiques.
Regardez votre fichier de configuration Mongod, la plupart du temps bind_ip est réglé sur 127.0.0.1
pour des raisons évidentes de sécurité. Vous pouvez:
#
caractère) le bind_ip
ligne. Mais sachez que toutes les connexions distantes pourront connecter votre serveur MongoDB!Plus à propos bind_ip
option de configuration: 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 /etc/mongodb.conf
fichier 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
Je viens d'avoir ce problème et cela l'a résolu:
Modifier /etc/mongod.conf
avec Sudo nano /etc/mongod.conf
assurez-vous que la section net ressemble à celle ci-dessous (la liaison localhost ne permet pas l'accès à distance par défaut):
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
Assurez-vous de redémarrer Mongod lorsque vous en aurez terminé avec ce qui suit (en supposant que systemd ubuntu 16.04+, etc.):
Sudo service mongod restart
Évidemment, du point de vue de la sécurité, si vous voulez ouvrir votre réseau à votre réseau/que le monde entier soit conscient des conséquences (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 nuage, en tant que AWS, vous devez ajouter une nouvelle règle pour ajouter le port mongodb (27017 par défaut).
Important : Notez qu'avec cette configuration, tout utilisateur peut avoir accès à votre base de données.