Erreur Cloudflare 522 : Connection Timed Out

La connexion TCP au serveur d'origine a expiré avant de recevoir une réponse.

L'erreur Cloudflare 522 "Connection Timed Out" se produit lorsque Cloudflare réussit à établir une connexion TCP avec votre serveur d'origine, mais cette connexion expire avant que le serveur ne réponde. Contrairement à l'erreur 521 où la connexion est refusée immédiatement, le 522 indique que votre serveur est accessible mais trop lent à répondre.

Cette erreur est particulièrement frustrante car elle peut être intermittente et difficile à reproduire. Elle survient généralement pendant les pics de charge, lorsque le serveur est surchargé, ou en cas de problèmes réseau entre Cloudflare et votre infrastructure. Le timeout par défaut de Cloudflare est de 100 secondes pour l'établissement de la connexion.

Dans ce guide approfondi, nous analysons les causes techniques du 522, les méthodes de diagnostic avancées pour identifier l'origine du problème, et les optimisations à appliquer pour garantir des temps de réponse acceptables. Un monitoring continu est essentiel pour détecter ces ralentissements avant qu'ils ne deviennent des erreurs.

Causes principales de l'erreur 522

Le timeout de connexion peut avoir plusieurs origines, souvent liées à la performance ou au réseau :

Comment diagnostiquer l'erreur 522

Un diagnostic systématique permet d'identifier si le problème vient du serveur, du réseau ou de la configuration :

Solutions pour corriger l'erreur 522

Les solutions dépendent de la cause identifiée lors du diagnostic :

Configuration Nginx optimisée pour Cloudflare

Cette configuration Nginx optimise les paramètres critiques pour éviter les timeouts 522 :

# /etc/nginx/nginx.conf - Optimisations pour Cloudflare 522

worker_processes auto;
worker_rlimit_nofile 65535;

events {
    worker_connections 4096;
    multi_accept on;
    use epoll;
}

http {
    # Keepalive pour connexions persistantes
    keepalive_timeout 75;
    keepalive_requests 1000;

    # Timeouts genereux
    client_body_timeout 60;
    client_header_timeout 60;
    send_timeout 60;

    # Buffers optimises
    client_body_buffer_size 128k;
    client_header_buffer_size 4k;

    # Connexions upstream (PHP-FPM)
    upstream php {
        server unix:/run/php/php-fpm.sock;
        keepalive 32;
    }

    # Timeouts FastCGI
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
}

Cette configuration augmente le nombre de connexions simultanées, active les connexions persistantes avec des timeouts adaptés à Cloudflare, et optimise les communications avec PHP-FPM. Adaptez les valeurs selon les ressources de votre serveur.

Prévenir les erreurs 522

La prévention passe par une surveillance continue et une infrastructure dimensionnée :

Checklist de vérification 522

  • Charge CPU et RAM sous 80% en conditions normales
  • keepalive_timeout configuré entre 60 et 75 secondes
  • worker_connections suffisant pour le trafic
  • Firewall en mode REJECT, pas DROP
  • Temps de réponse local inférieur à 2 secondes
  • Monitoring actif des temps de réponse

Questions fréquentes sur l'erreur 522

Quelle est la différence entre les erreurs 521 et 522 Cloudflare ?

L'erreur 521 indique que la connexion est refusée immédiatement (serveur down ou port fermé). L'erreur 522 signifie que la connexion TCP s'établit mais expire avant d'obtenir une réponse (serveur trop lent). Le 521 est un problème de disponibilité, le 522 est un problème de performance.

Quel est le timeout par défaut de Cloudflare ?

Cloudflare attend 100 secondes pour établir une connexion TCP et recevoir une réponse HTTP. Ce délai n'est pas modifiable sur les plans gratuits. Les plans Enterprise permettent d'ajuster ces timeouts.

Le 522 apparaît uniquement sous charge. Que faire ?

C'est typique d'un serveur sous-dimensionné. Optimisez votre configuration (PHP-FPM, workers Nginx), ajoutez du cache, ou augmentez les ressources serveur. Envisagez un load balancer pour distribuer la charge.

Comment savoir si le problème vient du réseau ?

Testez avec MTR depuis votre serveur vers les IP Cloudflare (173.245.48.0/20). Une perte de paquets ou latence élevée indique un problème réseau. Contactez votre hébergeur si le problème persiste.

Les erreurs 522 peuvent-elles être causées par un CDN mal configuré ?

Oui, si vous avez un autre CDN ou proxy devant votre serveur en plus de Cloudflare, les timeouts peuvent se cumuler. Assurez-vous que chaque couche a des timeouts compatibles et que les connexions sont correctement acheminées.

Comment monitorer efficacement pour prévenir les 522 ?

Utilisez MoniTao pour surveiller votre site à travers Cloudflare avec des vérifications fréquentes. Configurez des alertes sur le temps de réponse (par exemple, alerte si > 5 secondes) pour détecter les ralentissements avant qu'ils ne causent des timeouts.

Conclusion

L'erreur Cloudflare 522 est un signal que votre serveur d'origine peine à répondre dans les temps. Qu'il s'agisse de surcharge, de configuration sous-optimale ou de problèmes réseau, les solutions existent et passent généralement par l'optimisation de votre infrastructure et de votre configuration serveur.

La clé pour éviter les erreurs 522 est un monitoring proactif combiné à une infrastructure correctement dimensionnée. MoniTao vous permet de suivre les temps de réponse en continu et de recevoir des alertes dès les premiers signes de ralentissement, bien avant que vos utilisateurs ne voient des erreurs de timeout.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.