Erreur Cloudflare 521 : Web Server Is Down

Cloudflare ne peut pas établir de connexion TCP avec votre serveur d'origine.

L'erreur Cloudflare 521 "Web Server Is Down" indique que Cloudflare a tenté d'établir une connexion TCP avec votre serveur d'origine mais la connexion a été activement refusée. Contrairement à d'autres erreurs Cloudflare, le 521 signifie que votre serveur web est soit arrêté, soit inaccessible depuis les datacenters Cloudflare.

Cette erreur est l'une des plus fréquentes rencontrées par les sites utilisant Cloudflare comme CDN ou proxy inverse. Elle se distingue du 522 (timeout) car ici la connexion est refusée immédiatement plutôt que d'expirer. Comprendre cette différence est crucial pour un diagnostic efficace.

Dans ce guide complet, nous allons explorer les causes principales de l'erreur 521, les méthodes de diagnostic avancées, et les solutions éprouvées pour rétablir rapidement votre service. Un monitoring proactif de votre infrastructure permet de détecter ces problèmes avant que vos utilisateurs ne soient impactés.

Causes principales de l'erreur 521

L'erreur 521 survient lorsque Cloudflare ne peut pas établir une connexion TCP avec votre serveur. Voici les causes les plus fréquentes :

  • Serveur web arrĂŞtĂ© : Apache, Nginx ou votre serveur web n'est plus en cours d'exĂ©cution. Un crash, un redĂ©marrage manuel ou une mise Ă  jour peut avoir stoppĂ© le service sans que vous le remarquiez.
  • Pare-feu bloquant Cloudflare : Votre pare-feu (iptables, UFW, CSF, ou cloud firewall) bloque les plages IP de Cloudflare. Ces IP doivent ĂŞtre explicitement autorisĂ©es car tout le trafic transite par elles.
  • Ports fermĂ©s ou mal configurĂ©s : Les ports 80 (HTTP) et 443 (HTTPS) ne sont pas ouverts ou ne sont pas en Ă©coute. Une mauvaise configuration du virtual host ou du server block peut causer ce problème.
  • Surcharge serveur : Lorsque le serveur atteint ses limites de connexions simultanĂ©es, il refuse les nouvelles connexions. Cela peut sembler ĂŞtre un 521 intermittent.

Comment diagnostiquer l'erreur 521

Un diagnostic méthodique permet d'identifier rapidement l'origine du problème :

  • VĂ©rifier l'Ă©tat du serveur web : Connectez-vous en SSH et exĂ©cutez "systemctl status nginx" (ou apache2). VĂ©rifiez si le service est actif et n'affiche pas d'erreurs dans le statut.
  • Tester la connectivitĂ© locale : Depuis le serveur lui-mĂŞme, testez avec "curl -I http://localhost" pour vĂ©rifier que le serveur rĂ©pond localement.
  • VĂ©rifier les ports en Ă©coute : Utilisez "netstat -tlpn | grep -E '80|443'" ou "ss -tlpn" pour confirmer que votre serveur Ă©coute bien sur les ports requis.
  • Analyser les logs : Examinez /var/log/nginx/error.log ou /var/log/apache2/error.log pour identifier des erreurs de configuration ou des problèmes de ressources.

Solutions pour corriger l'erreur 521

Une fois la cause identifiée, appliquez la solution appropriée :

  • RedĂ©marrer le serveur web : ExĂ©cutez "systemctl restart nginx" ou "systemctl restart apache2". VĂ©rifiez ensuite le statut pour confirmer que le service dĂ©marre sans erreur.
  • Autoriser les IP Cloudflare : Consultez cloudflare.com/ips et ajoutez toutes les plages IP Ă  votre firewall. Pour UFW : "ufw allow from 173.245.48.0/20 to any port 443".
  • VĂ©rifier la configuration des ports : Assurez-vous que vos virtual hosts Ă©coutent sur les bons ports. Dans Nginx, vĂ©rifiez les directives "listen 80" et "listen 443 ssl" dans vos server blocks.
  • Augmenter les limites de connexions : Si le problème est la surcharge, augmentez worker_connections dans Nginx ou MaxRequestWorkers dans Apache, et vĂ©rifiez les limites système (ulimit).

Script de vérification automatique

Ce script bash vérifie les points critiques pour un diagnostic rapide de l'erreur 521 :

#!/bin/bash
# Diagnostic Cloudflare 521

echo "=== Verification serveur web ==="
systemctl is-active --quiet nginx && echo "Nginx: OK" || echo "Nginx: STOPPED"
systemctl is-active --quiet apache2 && echo "Apache: OK" || echo "Apache: STOPPED"

echo -e "\n=== Ports en ecoute ==="
ss -tlpn | grep -E ':80|:443'

echo -e "\n=== Test connectivite locale ==="
curl -sI http://localhost | head -1

echo -e "\n=== IP Cloudflare dans iptables ==="
iptables -L -n | grep -c "173.245.48" && echo "Cloudflare IPs: Found" || echo "Cloudflare IPs: NOT FOUND"

echo -e "\n=== Dernières erreurs web ==="
tail -5 /var/log/nginx/error.log 2>/dev/null || tail -5 /var/log/apache2/error.log

Ce script vérifie l'état des services, les ports en écoute, la connectivité locale et la présence des règles firewall pour Cloudflare. Exécutez-le avec "sudo bash diagnostic.sh" pour un aperçu rapide de la situation.

Prévenir les erreurs 521

Mettez en place ces bonnes pratiques pour éviter les erreurs 521 :

  • Monitoring proactif : Utilisez MoniTao pour surveiller votre site Ă  travers Cloudflare. Vous serez alertĂ© dès qu'une erreur 521 apparaĂ®t, avant que vos utilisateurs ne le remarquent.
  • Automatiser les mises Ă  jour firewall : CrĂ©ez un cron job qui met Ă  jour automatiquement les IP Cloudflare dans votre firewall. Cloudflare publie ces plages qui peuvent changer occasionnellement.
  • Configurer les redĂ©marrages automatiques : Utilisez systemd pour configurer le redĂ©marrage automatique de votre serveur web en cas de crash : "Restart=always" dans le fichier service.
  • Surveiller les ressources serveur : Monitorez CPU, RAM et nombre de connexions. Une alerte prĂ©coce sur la surcharge permet d'intervenir avant que le serveur ne refuse les connexions.

Checklist de vérification 521

  • Serveur web dĂ©marrĂ© et fonctionnel (systemctl status)
  • Toutes les plages IP Cloudflare autorisĂ©es dans le firewall
  • Ports 80 et 443 en Ă©coute et accessibles
  • Configuration SSL valide pour le port 443
  • Limites de connexions suffisantes
  • Monitoring en place pour dĂ©tection prĂ©coce

Questions fréquentes sur l'erreur 521

Quelle est la différence entre l'erreur 521 et 522 Cloudflare ?

L'erreur 521 signifie que la connexion est immédiatement refusée (serveur down ou bloqué), tandis que le 522 indique que la connexion a été établie mais a expiré (timeout). Le 521 est généralement plus simple à diagnostiquer car il pointe vers un problème de disponibilité du service.

Comment autoriser les IP Cloudflare dans UFW ?

Téléchargez la liste des IP depuis cloudflare.com/ips et créez des règles pour chaque plage. Exemple : "ufw allow from 173.245.48.0/20 to any port 80,443 proto tcp". Automatisez cette mise à jour avec un script cron.

Pourquoi le 521 apparaît-il par intermittence ?

Un 521 intermittent est souvent causé par une surcharge serveur qui refuse temporairement les connexions, ou par un processus de redémarrage automatique du serveur web. Vérifiez les logs et la charge serveur au moment des erreurs.

Mon serveur fonctionne mais j'ai toujours l'erreur 521. Que faire ?

Vérifiez votre firewall en priorité. Même si le serveur répond localement, si les IP Cloudflare sont bloquées, vous aurez un 521. Testez aussi avec "curl --resolve" depuis une IP externe non-Cloudflare.

Le mode Development de Cloudflare peut-il causer des 521 ?

Non, le mode Development n'impacte pas la connectivité. Il désactive simplement le cache. Si vous avez des 521, le problème est au niveau du serveur d'origine, pas de Cloudflare.

Comment monitorer efficacement derrière Cloudflare ?

Utilisez un service de monitoring externe comme MoniTao qui teste votre site comme un visiteur normal, à travers Cloudflare. Cela détecte les erreurs 521, 522, 523, 524 et tous les problèmes de disponibilité visibles par vos utilisateurs.

Conclusion

L'erreur Cloudflare 521 est généralement simple à résoudre une fois la cause identifiée. Dans la majorité des cas, il s'agit d'un serveur web arrêté ou d'un firewall mal configuré. Un diagnostic méthodique en vérifiant l'état du service, les ports et les règles firewall permet de rétablir le service rapidement.

La prévention reste la meilleure stratégie : un monitoring proactif avec MoniTao vous alerte immédiatement en cas d'erreur 521, vous permettant d'intervenir avant que l'impact sur vos utilisateurs ne devienne significatif. Combiné avec des scripts d'automatisation pour les mises à jour firewall et les redémarrages de service, vous pouvez maintenir une haute disponibilité de votre infrastructure derrière Cloudflare.

PrĂŞt Ă  dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.