He instalado MongoDB correctamente en Windows (en una máquina local) como un servicio, pero ahora me quiero mover de MongoDb en un servidor independiente. Así que extrae el archivo a un servidor virtual en la red (con linux).

Cuando me conectaba con el servidor («testmongoserver») el uso de la Masilla de mi máquina local, empecé a mongod servidor y me dijo que estaba escuchando el valor predeterminado 28017 puerto. El mongo de la consola también está trabajando y me permitió crear una nueva base de datos (testdb) y agregar usuarios.

Sin embargo, yo no podía acceder al servidor remoto. Cuando yo escriba testmongoserver:28017 que no se abra el HTTP de la consola como localhost:28017 en mi máquina local hace. Yo también no se puede conectar usando pilotos oficiales y proporcionando un connectionstring.

¿Cuáles son los neccesarry pasos para instalar MongoDB en Linux, para que yo pudiera acceder desde un equipo remoto con un connectionstring y el uso de sus HTTP consola a través de testmongoserver:28017

Gracias!

InformationsquelleAutor user315648 | 2011-08-23

5 Comentarios

  1. 20
    1. Ejecutar netstat -a en mongo servidor y comprobar un puerto.
    2. Comprobar la configuración de DNS y comprobar que linux servidor permite conexiones externas.
    3. Comprobar que mongodb puede aceptar externo/conexión remota.

    Puerto predeterminado para mongo es 27017.
    28017 – puerto de webstats.

    Ver http://www.mongodb.org/display/DOCS/Security+y+Autenticación#SecurityandAuthentication-Puertos

    • Los cambios?
    • Mi problema era la #3. Fue debido a que el enlace IP set a 127.0.0.1 como @Yves M. describe en su respuesta.
    • A veces, el servidor debe ser reiniciado para que los cambios surtan efecto.
  2. 79

    1. Bind IP opción

    Enlazar IP es un MongoDB opción que limita las conexiones a los detalles específicos de IPs.

    Echar un vistazo a su mongod archivo de configuración, la mayoría del tiempo bind_ip se establece en 127.0.0.1 por razones obvias de seguridad. Usted puede:

    1. Añadir tu IP deseada mediante la concatenación de una lista de valores separados por comas para enlazar a MongoDB a múltiples direcciones IP.
    2. Eliminar o comentar (con # carácter) el bind_ip línea. Pero ser conscientes de que toda conexión remota será capaz de conectarse a su servidor de MongoDB!

    Más acerca de bind_ip opción de configuración: https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp

    Enlazar IP también se puede configurar como un argumento de comando: http://docs.mongodb.org/manual/reference/program/mongod/#cmdoption–bind_ip

    2. Firewall

    Comprobar que no está corriendo detrás de un firewall

    • Debe haber sido elegida como la respuesta correcta. Identifica el tema y lo explica demasiado.
    • Me gustaría aclarar que a bale para aceptar conexiones en el adaptador de red específico debe establecer bind_ip para la IP de este adaptador de red. Esto no es un filtro para las conexiones entrantes!
  3. 34

    Asegúrese de que en su /etc/mongodb.conf archivo tiene la siguiente línea,

    bind_ip = 0.0.0.0

    http://jitu-blog.blogspot.com.br/2013/06/allow-mongo-to-connect-from-remote-ip.html

    • Esto es una mala idea a partir de una configuración de perspectiva. Vas a obtener el mismo resultado de comentar el bind_ip línea. Me gustaría animar a la coma para separar la específica pública o privada ips del servidor: 127.0.0.1,10.x.x.x
    • Muy MALA idea, especialmente con la nueva vulnerabilidad cuando el uso de mongo.
    • Sí, es una MALA idea trabajar con el entorno de producción. Esta configuración sería «aceptable» si env=desarrollo. tenga cuidado
    • el nombre de archivo correcto es «/etc/mongod.conf»
    • Estoy en Windows y no ves el archivo etc/mongod.conf. Dónde está o dónde tengo que poner exactamente? Y traté de poner en mi mongodb.archivo de configuración, pero no cambió nada.
    • dev env sólo. pero quitando bind_ip NO permitir el acceso remoto. Se ha establecido para 0.0.0.0 para aceptar conexiones desde el host remoto. Como otros han mencionado, proporcionando una lista de direcciones IP que va a conectar es la manera de hacerlo en prod env.
    • El tipo que hizo la pregunta NUNCA dijo que este es un servidor de producción. Si es sólo para el desarrollo, es perfectamente respuesta. Estoy corriendo Linux en una máquina virtual y quiero a nadie en mi red para tener acceso a este, lo que está mal con 0.0.0.0 en este caso?

  4. 8

    Sólo tenía este problema y esta arreglado:

    Editar /etc/mongod.conf con sudo nano /etc/mongod.conf asegurarse de que la sección neta se ve como en la figura siguiente (localhost de enlace por defecto no permite el acceso remoto):

    # network interfaces
    net:
      port: 27017
      bindIp: 0.0.0.0

    Asegúrese de reiniciar mongod cuando haya terminado con la de arriba con la de abajo (suponiendo que systemd ubuntu 16.04+ etc.):

    sudo service mongod restart

    Obviamente, desde una perspectiva de seguridad si va a ser la apertura de mongo a la red/el mundo sea consciente de las implicaciones de esta (si cualquier)

    • Como en el post anterior, como se ha de señalar, también debe asegurarse de que el puerto 27017, en este caso, a disposición. También usted puede tener un problema de seguridad, para reducir, se podría, como se acaba de mencionar, restringir el IPs accesible para el puerto y/o crear un usuario con una contraseña. He pasado por esto hace poco pude tomar algunas notas de todo el proceso aquí: incredulosanonimos.blogspot.co.reino unido/2018/04/….
  5. 3

    Otro problema puede ser que la mongodb puerto no está habilitado. Comprobar, desde otro host, los puertos habilitados en el servidor. Para que se puede usar el comando:

    sudo nmap -P0 your_server_ip

    Usted puede obtener una respuesta como esta:

    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 utiliza un servidor virtual en la nube de AWS, usted necesita agregar una nueva regla para añadir mongodb (puerto 27017 por defecto).

    Importante: tenga en cuenta que con esta configuración, cualquier persona puede tener acceso a su base de datos

    Llegar MongoDB en Linux para escuchar las conexiones remotas

Dejar respuesta

Please enter your comment!
Please enter your name here