Connection Timed Out : Diagnostic Complet

Identifier et résoudre les problèmes de connexion réseau.

Le message "Connection timed out" indique que la connexion n'a même pas pu être établie. Contrairement à une erreur 504 où le serveur répond lentement, ici le serveur ne répond pas du tout. La machine cible est inaccessible depuis la source.

Ce type de timeout peut avoir des causes très variées : serveur complètement down, problème DNS, firewall bloquant, ou surcharge réseau. Le diagnostic nécessite une approche systématique pour isoler le problème.

Ce guide vous accompagne dans le diagnostic des timeouts de connexion, de la vérification basique jusqu'aux tests réseau avancés.

Comprendre le Connection Timeout

Un timeout de connexion se produit avant même que la communication HTTP ne commence :

  • Phase TCP : Avant HTTP, une connexion TCP doit être établie (handshake SYN/SYN-ACK/ACK). Le timeout survient si ce handshake n'aboutit pas.
  • Silence total : Le serveur ne répond rien - pas d'erreur, pas de refus, juste le silence. Le client attend jusqu'au timeout configuré.
  • Délai variable : Le timeout dépend de la configuration client. curl attend 300s par défaut, les navigateurs 30-60s. MoniTao utilise des timeouts configurables.
  • Localisation difficile : Le problème peut être n'importe où entre la source et la destination : serveur, réseau, DNS, firewall, load balancer...

Causes Principales des Timeouts de Connexion

Voici les causes les plus fréquentes :

  • Serveur down : La cause la plus simple : la machine est éteinte, crashée, ou le service n'écoute pas sur le port. Vérification SSH depuis la console hébergeur.
  • Problème DNS : Le domaine résout vers une mauvaise IP, ou ne résout plus du tout. Le client essaie de contacter une machine inexistante.
  • Firewall bloquant : Un firewall (serveur, réseau, cloud security group) bloque le trafic entrant. Le paquet est silencieusement dropé.
  • Surcharge réseau : Le serveur est tellement surchargé que sa stack TCP ne peut plus accepter de nouvelles connexions. Backlog plein.
  • Problème de routage : Les paquets n'arrivent pas à destination à cause d'un problème BGP, d'un blackhole, ou d'une route manquante.

Étapes de Diagnostic

Suivez cette approche systématique :

  1. Vérifier la résolution DNS : Assurez-vous que le domaine résout vers la bonne IP. Comparez avec l'IP attendue.
  2. Tester le ping ICMP : Si le ping fonctionne, la machine est joignable au niveau IP. Si non, c'est un problème réseau ou serveur.
  3. Tester le port spécifique : Utilisez telnet ou nc pour tester si le port 80/443 accepte les connexions. Un refus indique firewall ou service down.
  4. Tracer la route : traceroute/mtr montre où les paquets s'arrêtent. Identifiez le saut problématique.
  5. Tester depuis plusieurs sources : Le problème est-il global ou localisé ? Testez depuis différentes localisations géographiques.

Commandes de Diagnostic

Voici les commandes essentielles pour diagnostiquer un timeout de connexion :

# Vérifier la résolution DNS
nslookup example.com
dig example.com +short
host example.com

# Tester la connectivité ICMP
ping -c 5 example.com

# Tester un port spécifique
nc -zv example.com 443
telnet example.com 80

# Tracer la route
traceroute example.com
mtr -r example.com

# Test HTTP avec détails de timing
curl -v --connect-timeout 10 https://example.com

# Vérifier les ports ouverts côté serveur (si accès)
ss -tlnp
netstat -tlnp

# Vérifier le firewall (si accès serveur)
iptables -L -n
ufw status

Commencez par DNS (nslookup), puis connectivité basique (ping), puis port spécifique (nc). Si tout échoue, traceroute montre où ça bloque.

Solutions Selon la Cause

Appliquez la solution correspondant à votre diagnostic :

  • Serveur down : Redémarrez le serveur ou le service depuis la console de votre hébergeur. Vérifiez les logs pour comprendre le crash.
  • Problème DNS : Corrigez les enregistrements DNS dans votre zone. Attendez la propagation (ou purgez le cache local).
  • Firewall : Ouvrez les ports nécessaires dans iptables, security groups AWS/GCP, ou le firewall de votre hébergeur.
  • Surcharge : Augmentez les limites de connexions (net.core.somaxconn), ajoutez des ressources, ou mettez en place du load balancing.

Prévention des Timeouts de Connexion

Évitez les futures interruptions :

  • Monitoring multi-localisation : MoniTao vérifie depuis plusieurs points géographiques. Un problème de routage régional est détecté immédiatement.
  • Alertes DNS : Surveillez vos enregistrements DNS pour détecter les changements non autorisés ou les expirations.
  • Redondance : DNS failover, load balancers multiples, serveurs dans différentes zones. Éliminez les SPOF.
  • Documentation infra : Documentez vos IP, ports, règles firewall. En cas de problème, vous savez où chercher.

Checklist Diagnostic Connection Timeout

  • Vérifier la résolution DNS du domaine
  • Tester la connectivité ping vers le serveur
  • Tester la connexion au port spécifique (80/443)
  • Vérifier les règles firewall côté serveur
  • Tester depuis une autre localisation
  • Vérifier l'état du serveur via la console hébergeur

Questions Fréquentes

Quelle est la différence entre connection timeout et read timeout ?

Connection timeout = impossible d'établir la connexion TCP. Read timeout = connexion établie mais le serveur ne répond pas assez vite. Le premier est un problème réseau/serveur down, le second un problème de performance.

Mon site fonctionne dans mon navigateur mais MoniTao dit timeout ?

Possible problème de cache DNS (votre machine a l'ancienne IP), ou de géolocalisation (MoniTao teste depuis d'autres pays). Videz votre cache DNS et testez depuis un VPN.

Comment distinguer un serveur down d'un firewall bloquant ?

Un serveur down ne répond à rien (ping timeout). Un firewall peut laisser passer le ping mais bloquer le port 443. Testez les deux séparément.

Le timeout dépend-il de ma connexion internet ?

Non, un timeout de connexion indique que le serveur ne répond pas. Votre connexion internet peut être parfaite, si le serveur est down, ça timeout.

Pourquoi le timeout arrive parfois seulement ?

Surcharge intermittente du serveur, problème de routage BGP transitoire, ou rate limiting qui bloque certaines requêtes. Les tests multi-localisation aident à identifier.

Comment configurer le timeout dans MoniTao ?

Dans les paramètres du monitor, vous pouvez définir le timeout de connexion (défaut 30s). Pour les serveurs lents, augmentez-le. Pour une détection rapide, réduisez-le.

Conclusion

Le timeout de connexion est le symptôme d'un problème d'accessibilité. Le serveur, le réseau, ou un intermédiaire empêche la communication. Le diagnostic systématique permet d'isoler le coupable.

Avec MoniTao, vous êtes alerté dès qu'un timeout se produit, depuis plusieurs localisations. Vous savez immédiatement si le problème est global ou localisé, et pouvez réagir avant que les utilisateurs ne s'en aperçoivent.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.