Las aplicaciones pueden encontrar errores de tiempo de espera de selección del servidor 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 configurado.
Los errores debido a límite de tiempo al seleccionar un servidor suelen ocurrir por problemas de conectividad de la red, restricciones de acceso por IP, fallos de resolución DNS SRV o problemas de configuración 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, comuníquese Soporte técnico.
Comprobaciones previas
Para verificar que tu aplicación está experimentando un tiempo de espera de selección de servidor, revisa el mensaje de error del cliente. Algunos ejemplos comunes incluyen:
MongoTimeoutError: Server selection timed out after 30000 msMongoServerSelectionError: connection timed outMongoServerSelectionError: getaddrinfo ENOTFOUNDNo suitable servers found (`serverSelectionTryOnce` set): [Failed to resolve '<my-database-host>]
Verificar disponibilidad de la implementación
En las implementaciones de Atlas, confirma que el estado del clúster sea
Activeen la página de Clústeres de la Interfaz de Usuario de Atlas con el indicador de estado de punto verde.En las implementaciones autogestionadas, verifica que el proceso
mongodesté funcionando y escuchando en el puerto esperado.
Verificar mensajes de registro
Habilita los mensajes de registro en tu servidor o controlador para confirmar que el cliente intenta repetidamente el descubrimiento del servidor hasta que expire el tiempo de espera.
Registros del cliente
Los registros del cliente pueden mostrar intentos repetidos de descubrir la topología del clúster, seguidos de un tiempo de espera. Los mensajes pueden referirse a:
Fallos de resolución de DNS.
Errores de intrcambio de claves TLS.
Intentos de conexión que no se completan.
Registros del servidor (autogestionado)
Si los registros del servidor no muestran intentos de conexión entrantes cuando ejecutas el comando getLog o en tu destino de registro configurado, esto suele indicar un problema de conectividad de red.
Problemas comunes y soluciones
Las siguientes secciones describen las causas comunes de los tiempos de espera de selección de servidor y cómo resolverlos.
La red local o el cortafuegos bloquean las conexiones
Si el cliente no puede establecer una conexión TCP con ningún host en la implementación, la selección del servidor falla.
Para restaurar la conectividad:
Comprueba que el tráfico saliente del host cliente esté permitido en el puerto TCP
27017(o en el puerto personalizado configurado).Comprobar las reglas de firewall, los grupos de seguridad y las listas de control de acceso de red para detectar restricciones.
Asegúrate de que ninguna VPN, proxy o firewall local esté interceptando la conexión.
Reintenta la conexión después de hacer cambios.
Dirección IP del cliente no permitida (Atlas)
Si el clúster está disponible pero no recibe conexiones entrantes:
En la Interfaz de usuario de Atlas, navega hasta Acceso de red.
Verifica que la dirección IP pública del cliente esté incluida en la lista de acceso IP
Si es necesario para las pruebas, permitir temporalmente el acceso desde
0.0.0.0/0.Guarde los cambios y espere a que se aplique la configuración.
Vuelve a intentar la conexión.
Para obtener más información sobre las listas de acceso IP, consulta Configurar entradas de la lista de acceso IP.
Fallo en la resolución de DNS SRV
Si el cliente informa errores como ENOTFOUND o falla durante la búsqueda de SRV (Servicio), es posible que el entorno no pueda resolver los registros DNS SRV.
Verificar la resolución de DNS SRV
Sigue estos pasos desde el host del cliente:
Identifique el nombre de host de la cadena de conexión:
mongodb+srv://<cluster-name>.mongodb.net Ejecute una búsqueda DNS SRV:
nslookup -type=SRV _mongodb._tcp.<cluster-name>.mongodb.net Verifica que el comando devuelva uno o más registros SRV que apunten a los hosts de MongoDB.
Si no se devuelve ningún registro:
Confirme que el nombre de host sea correcto.
Verifique si su proveedor de DNS admite registros SRV.
Verifica que las consultas DNS salientes no estén bloqueadas.
Solucionar las Limitaciones de SRV
Si los registros SRV no se pueden resolver, necesitas recuperar la cadena de conexión estándar (no SRV) de la implementación y actualizar 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, visita Cadenas de conexión.
Problemas de configuración de TLS
Si la salida de error hace referencia a fallos en el handshake 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 coincida con la cadena de conexión.
Verificar que la cadena completa de certificados esté disponible.
Después de completar estos pasos, vuelve a intentar la conexión.
Para obtener más información sobre TLS/SSL y aprender cómo configurar tus conexiones TLS/SSL, consulta TLS/SSL (cifrado de transporte).
Verificar resolución
Después de resolver el problema subyacente:
El cliente establece una conexión sin agotar el tiempo de espera.
Los registros de la aplicación indican una selección exitosa del servidor.
Las métricas de Atlas (si corresponde) muestran conexiones activas.
Los registros del servidor anotan las conexiones entrantes de los clientes.
Diagnósticos a recopilar para más apoyo
Si el problema persiste, recopile lo siguiente antes de ponerse en contacto con Asistencia técnica.
Mensajes de error completos del cliente y seguimientos de pila
Cadena de conexión MongoDB (credenciales eliminadas)
Nombre y versión del controlador
Versión del servidor de MongoDB
Salida de búsqueda DNS SRV
Resultados de las pruebas de conectividad de red
Registros relevantes de MongoDB