Je ne pouvais pas comprendre ce que bind_ip
dans mongodb est. Je pourrais établir une connexion à distance entre le bureau et la machine EC2 en ayant bind_ip = 0.0.0.0
, mais n'a pas pu le faire fonctionner avec bind_ip = 127.0.0.1
.
Veuillez m'expliquer en quoi consiste bind_ip et pourquoi cela fonctionne pour 0.0.0.0
et pas pour 127.0.0.1
.
Pour référence à partir de mongodb docs :
bind_ip
Par défaut: toutes les interfaces.
Définissez cette option pour configurer le processus mongod ou mongos pour se lier à et écouter les connexions des applications sur cette adresse. Vous pouvez attacher des instances mongod ou mongos à n'importe quelle interface; cependant, si vous attachez le processus à une interface accessible au public, appliquez des restrictions d'authentification ou de pare-feu appropriées pour protéger l'intégrité de votre base de données.
Vous pouvez concaténer une liste de valeurs séparées par des virgules pour lier mongod à plusieurs adresses IP.
Avant de lier votre serveur à 0.0.0.0, veuillez être clair sur les implications de sécurité de ces changements: Votre serveur sera publiquement exposé à toutes les IP sur Internet. Assurez-vous d'activer l'authentification sur votre serveur!
Vous ne pouvez pas accéder à votre ordinateur lorsque vous le liez à 127.0.0.1
sur EC2. Ce n'est pas un bug, il est motivé par les liaisons d'interface réseau.
127.0.0.1
ne se liera qu'à l'interface de bouclage (vous ne pourrez donc y accéder que localement), tandis que 0.0.0.0
le liera à toutes les interfaces réseau disponibles.
C'est pourquoi vous pouvez accéder à votre mongodb sur EC2 lorsque vous le liez à 0.0.0.0
(car il est désormais disponible sur Internet) et non via 127.0.0.1
.
Pour les serveurs locaux (comme un serveur WAMP ou un serveur mongodb local) qui ne vous sembleront pas différents, mais dans ce cas, vous devriez également penser à la liaison à 0.0.0.0
pour les serveurs locaux peut les rendre disponibles sur toutes les interfaces réseau (il peut donc être public pour quelqu'un qui connaît votre IP, s'il n'y a pas de pare-feu!)
Lisez un question similaire sur Server Fault ici.
Partout où il est écrit que vous devez les lier comme ça
bindIp : 127.0.0.1,192.168.0.50
mais ça ne marche pas.
comment cela fonctionne, dans la version 3.2.0 est
bindIp : [127.0.0.1,192.168.0.50]
essayez donc d'ajouter vos ips à l'intérieur du []
exemple:
# network interfaces
net:
port: 27017
bindIp : [127.0.0.1,0.0.0.0]
Cependant 0.0.0.0 s'ouvre. Bien que ce soit correct pour le TEST, pour la production, vous devez connaître les implications de sécurité de ce paramètre!
Il devrait être clair pour quiconque recherche cette réponse que lier votre mongoDB à 0.0.0.0 pourrait être votre pire décision.
Veuillez lire ce qui suit article et assurez-vous que chaque fois que vous décidez de rendre tout public avec vos données (et celles de vos clients), vous tenez compte des éléments suivants: