Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Solución de problemas de tiempo de espera en la selección del servidor

Las aplicaciones pueden experimentar errores de tiempo de espera al intentar conectarse a una implementación de MongoDB. Este error indica que el controlador del cliente no puede seleccionar un servidor adecuado dentro del período de tiempo de espera configurado.

Los tiempos de espera en la selección del servidor suelen producirse debido a problemas de conectividad de red, restricciones de acceso IP, fallos en la resolución de DNS SRV o problemas de configuración de TLS.

Esta página describe las causas comunes de los tiempos de espera en la selección del servidor y proporciona pasos para diagnosticarlos y resolverlos. Si el problema persiste después de completar los pasos a continuación, póngase en contacto con nosotros. Apoyo técnico.

Para verificar que su aplicación está experimentando un tiempo de espera agotado por selección de servidor, revise el mensaje de error del cliente. Algunos ejemplos comunes incluyen:

  • MongoTimeoutError: Server selection timed out after 30000 ms

  • MongoServerSelectionError: connection timed out

  • MongoServerSelectionError: getaddrinfo ENOTFOUND

  • No suitable servers found (`serverSelectionTryOnce` set): [Failed to resolve '<my-database-host>]

  • En las implementaciones de Atlas, confirme que el estado del clúster sea Active en la página Clústeres de la interfaz de usuario de Atlas con el indicador de estado de punto verde.

  • En implementaciones autogestionadas, verifique que el proceso mongod se esté ejecutando y escuchando en el puerto esperado.

Habilite los mensajes de registro en su servidor o controlador para confirmar que el cliente está intentando repetidamente descubrir el servidor hasta que expire el tiempo de espera.

Los registros del cliente pueden mostrar intentos repetidos de descubrir la topología del clúster, seguidos de un tiempo de espera agotado. Los mensajes pueden hacer referencia a:

  • Fallos en la resolución de DNS.

  • Errores en el protocolo de enlace TLS.

  • Intentos de conexión que no se completan.

Si los registros del servidor no muestran intentos de conexión entrantes cuando ejecuta el getLog comando o en el destino de registro configurado, esto normalmente indica un problema de conectividad de red.

Las siguientes secciones describen las causas comunes de los tiempos de espera agotados en la selección del servidor y cómo solucionarlos.

Si el cliente no puede establecer una conexión TCP con ningún host de la implementación, la selección del servidor fallará.

Para restablecer la conectividad:

  1. Verifique que el tráfico saliente del host cliente esté permitido en el puerto TCP 27017 (o en el puerto personalizado configurado).

  2. Verifique las reglas del firewall, los grupos de seguridad y las ACL de red para detectar restricciones.

  3. Asegúrese de que ninguna VPN, proxy o cortafuegos local esté interceptando la conexión.

  4. Vuelva a intentar la conexión después de realizar los cambios.

Si el clúster está disponible pero no recibe conexiones entrantes:

  1. En la interfaz de usuario de Atlas, vaya a Acceso a la red.

  2. Verifique que la dirección IP pública del cliente esté incluida en la lista de acceso IP.

  3. Si es necesario para realizar pruebas, permita temporalmente el acceso desde 0.0.0.0/0.

  4. Guarda los cambios y espera a que se aplique la configuración.

  5. Vuelve a intentar la conexión.

Para obtener más información sobre las listas de acceso IP, consulte Configurar entradas de la lista de control de acceso IP.

Si el cliente informa errores como ENOTFOUND o falla durante la búsqueda SRV (Servicio), es posible que el entorno no pueda resolver los registros DNS SRV.

Siga estos pasos desde el host del cliente:

  1. Identifique el nombre de host a partir de la cadena de conexión:

    mongodb+srv://<cluster-name>.mongodb.net
  2. Realiza una consulta DNS SRV:

    nslookup -type=SRV _mongodb._tcp.<cluster-name>.mongodb.net
  3. Verifique que el comando devuelva uno o más registros SRV que apunten a hosts de MongoDB.

  4. Si no se devuelve ningún registro:

    • Confirme que el nombre de host sea correcto.

    • Comprueba si tu proveedor de DNS admite registros SRV.

    • Verifique que las consultas DNS salientes no estén bloqueadas.

Si no se pueden resolver los registros SRV, debe recuperar la cadena de conexión estándar (no SRV) de la actualización de implementación de la aplicación para usar:

mongodb://host1,host2,host3/?replicaSet=<name>

Vuelve a intentar la conexión.

Para obtener más información sobre las cadenas de conexión, visite Cadenas de conexión.

Si el mensaje de error hace referencia a fallos en el protocolo de enlace TLS o SSL, puede seguir los siguientes pasos para resolver problemas comunes de configuración de TLS:

  • Verifique que el controlador del cliente sea compatible con TLS 1.2 o posterior.

  • Asegúrese de que los certificados raíz del sistema estén actualizados.

  • Para implementaciones autogestionadas:

    • Confirme que el nombre de host del certificado coincide con la cadena de conexión.

    • Verifique que la cadena completa de certificados esté disponible.

Una vez completados estos pasos, intente conectarse de nuevo.

Para obtener más información sobre TLS/SSL y aprender a configurar sus conexiones TLS/SSL, consulte TLS/SSL (Cifrado de transporte).

Tras resolver el problema subyacente:

  • El cliente establece una conexión sin que se agote el tiempo de espera.

  • Los registros de la aplicación indican que la selección del servidor se realizó correctamente.

  • Las métricas de Atlas (si corresponde) muestran las conexiones activas.

  • Los registros del servidor registran las conexiones entrantes de los clientes.

Si el problema persiste, recopile la siguiente información antes de ponerse en contacto con el soporte técnico:

  • Mensajes de error completos del cliente y rastreos de pila.

  • Cadena de conexión a MongoDB (credenciales eliminadas)

  • Nombre y versión del controlador

  • Versión del servidor MongoDB

  • Salida de búsqueda DNS SRV

  • Resultados de la prueba de conectividad de red

  • Registros relevantes de MongoDB

Volver

Tormentas de conexión

En esta página