Comment restaurer rapidement la fonctionnalité de votre site Web
L'accès aux ressources disponibles sur le web implique généralement des requêtes adressées à un hôte, désigné par un serveur, où ces ressources sont stockées. Ces requêtes peuvent être initiées par un ordinateur, un smartphone ou tout autre dispositif connecté à Internet.
Dans ce contexte, l'appareil qui sollicite une ressource auprès du serveur est qualifié de client, et cette demande est communément appelée requête HTTP.
Le protocole HTTP régit les échanges d'informations sur internet. Lorsqu'un client effectue une demande de ressource auprès d'un serveur, on dit qu'il envoie une requête HTTP.
Lorsqu'un serveur reçoit une requête de ressource d'un client, il transmet non seulement la ressource sollicitée en cas de succès, mais également un code d'état à trois chiffres. Ce code informe le client sur la manière dont sa requête a été traitée.
Une demande de ressource peut aboutir avec succès, être redirigée vers une autre adresse, ou bien la ressource demandée peut ne pas être trouvée sur le serveur. Les codes d'état servent précisément à communiquer ces différentes situations au client.
Ces codes d'état sont classés en différentes catégories, identifiées par le premier chiffre du code. Les codes commençant par 1 indiquent que la requête a été reçue et est en cours de traitement. Les codes commençant par 2 signalent que la requête du client a été reçue, comprise et traitée avec succès.
Les codes débutant par 3 indiquent une redirection, tandis que ceux commençant par 4 signalent une erreur du côté du client. Les codes commençant par 5, quant à eux, indiquent une erreur provenant du serveur.
Il existe des codes d'état officiels, définis par la norme HTTP, mais aussi des codes non officiels qui viennent compléter les classes de codes officiels. Le code 521, par exemple, signale que le serveur web est hors service. Il est utilisé par le service de proxy inverse de CloudFlare et n'est pas officiellement standardisé.
Un serveur proxy inverse est un serveur intermédiaire qui se positionne entre le client et les serveurs web. Il intercepte les requêtes des clients et les transmet ensuite aux serveurs hébergeant les ressources demandées. Cette architecture évite que les clients communiquent directement avec les serveurs web.
Le serveur proxy inverse protège l'identité des serveurs web, améliore leur fiabilité, leur sécurité et leurs performances. Il permet également d'équilibrer la charge sur les sites web à forte fréquentation.
Le réseau de diffusion de contenu (CDN) de CloudFlare est un exemple de service de proxy inverse. Un CDN est constitué de serveurs répartis géographiquement, qui mettent en cache le contenu web à proximité des utilisateurs. Cela permet d'accélérer le chargement des pages internet.
L'erreur 521 "Web Server is Down" survient lorsque le serveur d'origine, auprès duquel un client tente de récupérer une ressource, refuse les connexions provenant du proxy de Cloudflare. Afin de fournir le contenu demandé par un client, le proxy de Cloudflare établit une connexion, via les ports 80 ou 443, avec le serveur hébergeant la ressource.
Il arrive que le serveur d'origine refuse directement cette connexion avec le proxy de Cloudflare, renvoyant une erreur de connexion refusée. C'est cette situation qui provoque l'erreur 521 "Le serveur web est hors service", affichée au client à l'origine de la demande.
Causes de l'erreur 521
Bien que l'erreur 521 indique que votre serveur web d'origine est hors service, elle n'est pas toujours due à une panne du serveur web. D'autres problèmes peuvent être à l'origine de cette erreur. Voici quelques causes potentielles :
#1. Votre serveur web d'origine est hors service
Si votre serveur web d'origine, celui qui héberge la ressource demandée, est hors ligne, le proxy inverse de Cloudflare ne peut pas établir de connexion. Cela déclenche l'erreur 521. L'erreur peut également se produire si certains processus du serveur web ne fonctionnent pas correctement, empêchant Cloudflare de s'y connecter.
#2. Votre serveur web d'origine bloque les requêtes de Cloudflare
Les serveurs proxy de Cloudflare reçoivent les requêtes des clients et les transmettent aux serveurs hébergeant les ressources demandées. Par conséquent, la configuration de sécurité ou le pare-feu du serveur d'origine peuvent considérer les adresses IP de Cloudflare comme des sources d'attaques, car elles émettent de nombreuses demandes de ressources.
Cela peut entraîner le blocage des adresses IP de Cloudflare, empêchant ainsi toute connexion avec le serveur web d'origine. Dans ce cas, l'erreur 521 apparaît même si le serveur d'origine fonctionne correctement.
#3. Mauvaise configuration du serveur d'origine
Le réseau de diffusion de contenu (CDN) de Cloudflare agit comme un proxy inverse. Les serveurs doivent être correctement configurés pour fonctionner avec un CDN. Une mauvaise configuration lors de l'installation d'un CDN peut entraîner l'erreur 521 lorsque des clients tentent d'accéder à une ressource. De même, les pare-feu configurés pour abandonner les paquets, plutôt que de refuser les connexions, peuvent aussi être la source de cette erreur.
#4. Problème avec le certificat SSL de Cloudflare

Cloudflare assure le chiffrement des communications entre le serveur et le client à l'aide d'un certificat Secure Socket Layer (SSL). Les certificats SSL sont utilisés pour authentifier l'identité des sites web et établir des connexions sécurisées.
Un problème avec le certificat SSL d'un site web ou le mode de chiffrement utilisé par Cloudflare peut entraîner le refus de connexion du serveur d'origine et générer l'erreur 521.
Comment corriger l'erreur 521
Plusieurs méthodes permettent de résoudre l'erreur 521. En voici quelques-unes :
#1. Vérifier que le serveur d'origine est en ligne
L'erreur 521 peut survenir lorsque le serveur d'origine est hors service ou rencontre un problème technique. Pour vérifier si le serveur d'origine fonctionne, ouvrez une fenêtre de terminal et utilisez la commande ping avec le nom du site web que vous souhaitez tester.
ping toptips.fr.com
Si le serveur est opérationnel, vous devriez recevoir des réponses comme celles ci-dessous :

Dans cet exemple, le serveur d'origine de toptips.fr est en ligne. Cependant, le second serveur testé était hors service au moment de la rédaction. Aucun paquet n'a été reçu et 100% des paquets ont été perdus. Tenter d'ouvrir ce site web a abouti à l'affichage d'une erreur 502 :

Appuyez sur CTRL+C pour interrompre la commande ping.
Une autre méthode consiste à utiliser le site web isitdownrightnow. Entrez l'adresse du site que vous souhaitez vérifier. Le site vous indiquera si le serveur est opérationnel ou non, comme illustré ci-dessous :

Si vous êtes un nouvel utilisateur du CDN de Cloudflare, assurez-vous que votre serveur d'origine est correctement configuré pour écouter sur le port 443 et pour autoriser les adresses IP de Cloudflare à y accéder. De plus, vérifiez que votre pare-feu est configuré pour ne pas abandonner les paquets, car cela peut causer l'erreur 521.
#2. Mettre les adresses IP de Cloudflare sur liste blanche
Une autre cause de l'erreur 521 est le blocage des adresses IP de Cloudflare, considérées comme suspectes en raison du nombre important de requêtes qu'elles émettent. Pour éviter ce problème, contactez votre fournisseur d'hébergement pour vérifier qu'il ne bloque pas ou ne limite pas les requêtes provenant des adresses IP de Cloudflare.
Si vous utilisez un serveur dédié, assurez-vous que votre pare-feu ne bloque pas les adresses IP de Cloudflare. Désactivez ou déchargez les modules Apache personnalisés tels que mod_antiloris et mod_reqtimeout, qui bloquent les adresses IP qui se connectent plus de 22 fois.
#3. Vérifier les certificats SSL ou le mode de chiffrement utilisé

Selon le mode de chiffrement SSL sélectionné (Flexible, Complet ou Strict), Cloudflare interagira différemment avec le certificat SSL présenté par le serveur d'origine. Ces modes permettent d'établir une connexion sécurisée entre le proxy de Cloudflare et le serveur d'origine.
Les modes Complet et Strict sont les plus couramment utilisés car ils exigent un certificat SSL valide. Lors de l'utilisation de ces modes, Cloudflare requiert des certificats SSL valides du serveur d'origine. L'erreur 521 apparaît lorsqu'il y a un problème avec le certificat SSL, notamment avec le mode Strict.
Pour résoudre ce problème, installez des certificats d'origine Cloudflare sur votre serveur d'origine ou utilisez des certificats SSL émis par une autorité de certification reconnue. Passer du mode Strict au mode Complet peut également aider à corriger l'erreur 521 liée à un problème de certificat SSL.
Conclusion
L'utilisation de réseaux de diffusion de contenu, comme le CDN de Cloudflare, est devenue une pratique courante pour distribuer du contenu web. Les CDN permettent d'accélérer le chargement des applications web, d'améliorer leurs performances, leur fiabilité et leur sécurité face aux attaques.
Lorsque vous utilisez Cloudflare, il est possible de rencontrer l'erreur 521, qui signale un problème avec le serveur d'origine. Dans ce cas, examinez les solutions proposées ci-dessus. Si le problème persiste, contactez le service client de Cloudflare pour obtenir de l'aide.