Connexion à distance à MongoDB interface http sur EC2 serveur
Je ne peut pas se connecter à distance à mon mongodb interface http sur mon AWS ec2 serveur.
J'ai vérifié le journal et vérifié qu'il est à l'écoute sur le port 28017. J'ai vérifié avec la commande netstat -un port tcp 28017 est ouvert. J'ai activé 28017 dans le groupe de sécurité.
- Je obtenir mon IP avec ifconfig, et essayer d'obtenir à l'interface http de propriété intellectuelle:28017. Rien ne se passe. Pas d'erreur, rien.
J'ai mis le reste = true dans mon mongod.fichier conf et je commence mongod en tant que service avec 'sudo service mongod redémarrer"
J'ai même essayé de démarrer mongod avec 'sudo mongod --reste" en vain.
C'est ce que tail-f /log/mongod.conf montre:
Sat Feb 2 02:06:54 [initandlisten] MongoDB starting : pid=3919 port=27017 dbpath=/data 64-bit host=domU-12-31-39-12-3A-A2
Sat Feb 2 02:06:54 [initandlisten] db version v2.2.2, pdfile version 4.5
Sat Feb 2 02:06:54 [initandlisten] git version: d1b43b61a5308c4ad0679d34b262c5af9d664267
Sat Feb 2 02:06:54 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Sat Feb 2 02:06:54 [initandlisten] options: { config: "/etc/mongod.conf", dbpath: "/data", fork: "true", logappend: "true", logpath: "/log/mongod.log", pidfilepath: "/var/run/mongodb/mongod.pid", rest: "true" }
Sat Feb 2 02:06:54 [initandlisten] journal dir=/data/journal
Sat Feb 2 02:06:54 [initandlisten] recover : no journal files present, no recovery needed
Sat Feb 2 02:06:54 [initandlisten] waiting for connections on port 27017
Sat Feb 2 02:06:54 [websvr] admin web console waiting for connections on port 28017
C'est ce que netstat-a montre:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 *:27017 *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:28017 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 272 domU-12-31-39-12-3A-A2.:ssh pool-108-54-50-116.ny:50722 ESTABLISHED
tcp 0 0 *:ssh *:* LISTEN
udp 0 0 *:bootpc *:*
udp 0 0 domU-12-31-39-12-3A-A2.c:ntp *:*
udp 0 0 localhost:ntp *:*
udp 0 0 *:ntp *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 5402 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 40948 /var/lib/mysql/mysql.sock
unix 2 [ ACC ] SEQPACKET LISTENING 5468 @/org/kernel/udev/udevd
unix 2 [ ACC ] STREAM LISTENING 6332 /var/run/dbus/system_bus_socket
unix 9 [ ] DGRAM 6278 /dev/log
unix 2 [ ACC ] STREAM LISTENING 182622 /tmp/mongodb-27017.sock
unix 3 [ ] STREAM CONNECTED 182434
unix 3 [ ] STREAM CONNECTED 182433
unix 2 [ ] DGRAM 182429
unix 2 [ ] DGRAM 131031
unix 2 [ ] DGRAM 40170
unix 2 [ ] DGRAM 19247
unix 2 [ ] DGRAM 7231
unix 2 [ ] DGRAM 7212
unix 2 [ ] DGRAM 7194
unix 3 [ ] STREAM CONNECTED 6341 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 6340
unix 3 [ ] STREAM CONNECTED 6336
unix 3 [ ] STREAM CONNECTED 6335
unix 3 [ ] DGRAM 5484
unix 3 [ ] DGRAM 5483
Merci pour ça, mais j'ai fait en sorte que le groupe de sécurité est un droit. J'ai ouvert 28017 à quoi que ce soit de l'extérieur avec 0.0.0.0/0.
Avez-vous vérifié il n'y a pas de
bind_ip
restriction dans votre /etc/mongod.conf
? À partir de la mongo
shell vous pouvez également vous enregistrer pour un bind_ip valeur dans db.getSiblingDB('admin').runCommand({'getCmdLineOpts':1})
. S'ils ne sont pas les bind_ip est "tout".
OriginalL'auteur | 2013-02-01
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème en essayant d'accéder à l'mongo shell à distance, et plusieurs de ces réponses ont aidé avec des parties de la solution. Pour résumer:
Public IP/DNS: Sélectionnez votre exemple sur l'EC2 de la Console de Gestion et assurez-vous qu'il a une adresse IP Publique ou le DNS Public. AWS est le déplacement de plus de la configuration par défaut de vivre dans un Virtual Private Cloud (VPC), et il est possible de se lancer dans un avec seulement une adresse IP Privée (interne à la VPC). Si vous n'avez pas un Public DNS ou IP, vous devez attribuer une adresse IP Élastique.
Groupe de sécurité ports: de Nouveau à la recherche à instance de détails sur la Console EC2, trouver les Groupes de Sécurité et sélectionnez "Afficher les Règles". En supposant que vous utilisez par défaut Mongo ports, vous devriez avoir
27017
et28017
ouvert pour le TCP de0.0.0.0/0
ou (plus sécurisé) à partir de votre adresse IP. Sinon, sélectionnez un Groupe de Sécurité de votre instance et à partir de la console d'aller àInbound
>Edit
>Add Rule
>Custom TCP Rule
,Port Range: 27017
, et avec un IPSource
. Pour l'interface http, ajouter une autre règle pourPort Range: 28017
./etc/mongod.conf:
port=27017
à assurez-vous d'avoir le port par défaut (je ne pense pas que ce soit réellement nécessaire, mais il m'a fait me sentir mieux et il est bon de savoir où changer le port par défaut...)bind_ip=127.0.0.1
afin d'écouter les interfaces externes (par exemple, les connexions à distance)httpinterface=true
si vous souhaitez utiliser l'interface httpCréer un Utilisateur: Vous devez créer un administrateur et/ou de l'utilisateur pour accéder à la base de données à distance.
bind_ip=127.0.0.1
travaillé.Heureux, il a aidé 🙂
OriginalL'auteur Nick Benes
Pour vous d'instance EC2, ajouter deux entrants TCP personnalisé des règles pour autoriser le trafic entrant sur les ports 27017 et 28017.
Assurez-vous de commenter le “bind_ip = 127.0.0.1” dans le /etc/mongod.fichier conf
redémarrer mongod serveur:
$sudo service mongod redémarrer
OriginalL'auteur rezf
Sonne comme il ya quelque chose de mal avec votre groupe de sécurité paramètres. Vous pourriez essayer d'accéder à l'interface d'admin de la box elle-même:
Si vous obtenez le contenu, alors vous avez probablement un problème avec votre groupe de sécurité paramètres (ou le pare-feu sur la machine elle-même).
OriginalL'auteur chrskly
Avez-vous vérifier si elle est à l'écoute sur une adresse IP publique ainsi que le port? Il peut être à l'écoute sur localhost.
C'est ce que netstat -une montre:
OriginalL'auteur Winfield