Passer au contenu

Code d'état 520 : ce que cela signifie et comment y remédier

Introduction

Les codes d'état HTTP sont comme un court message provenant d'un serveur Web, vous indiquant comment les choses se sont déroulées lorsqu'il a essayé de traiter votre demande. Vous connaissez probablement les erreurs courantes telles que 404 Not Found ou 500 Internal Server Error. Mais avez-vous déjà rencontré un code d’état 520 ? Il s'agit d'un code de niche spécifique à Cloudflare qui peut prêter à confusion si vous ne savez pas ce que cela signifie ou comment le dépanner.

Ne vous inquiétez pas, à la fin de cet article, vous serez un expert du 520. Nous expliquerons exactement ce que signifie un code d'état 520, les causes les plus courantes de cette erreur et les mesures concrètes que vous pouvez prendre pour corriger et éviter les 520, que vous soyez propriétaire d'un site Web ou que vous effectuiez du scraping Web. Allons-y !

Qu'est-ce qu'un code d'état 520 ?

Tout d’abord, il est important de noter qu’un 520 n’est pas un code d’état HTTP officiel que vous trouverez dans les spécifications. Il s'agit d'un code de statut propriétaire créé par Cloudflare, un CDN et un service de sécurité populaire utilisé par de nombreux sites Web. Vous ne rencontrerez donc que des 520 sur les sites utilisant Cloudflare.

Dans sa documentation, Cloudflare classe un code d'état 520 comme signifiant « Erreur inconnue ». Utile, non ? Fondamentalement, cela signifie que le serveur Web d'origine derrière Cloudflare a répondu avec quelque chose d'inattendu ou d'invalide.

Vous pouvez considérer Cloudflare comme un intermédiaire entre les visiteurs et le serveur Web hébergeant un site. Normalement, Cloudflare prend une requête, la transmet au serveur d'origine, obtient la réponse et la renvoie au visiteur. Mais si la réponse du serveur d'origine est anormale ou s'il manque des informations requises, Cloudflare ne sait pas quoi en faire et renvoie un code d'état générique 520.

Causes courantes des erreurs 520

Il existe plusieurs raisons pour lesquelles une erreur 520 peut apparaître. Certaines causes courantes incluent :

1. Le serveur d'origine est en panne – Si le serveur Web derrière Cloudflare tombe en panne, expire ou est inaccessible, vous obtiendrez probablement un 520.

2. Réponse HTTP invalide – Les serveurs Web doivent renvoyer des réponses HTTP correctement formatées, y compris la ligne d'état, les en-têtes et le corps. Si quelque chose est malformé ou manquant, cela peut déclencher un 520.

3. Bogues des applications Web – Si le code d'application réel exécuté sur le serveur d'origine comporte des bogues, des exceptions ou des cas extrêmes qui renvoient des réponses anormales, ceux-ci peuvent parvenir à l'utilisateur sous forme de 520.

4. En-têtes requis manquants – Certains sites exigent que les requêtes incluent certains en-têtes HTTP, comme pour l'authentification, la limitation de débit ou la sécurité. Les laisser de côté peut provoquer un 520.

5. Requêtes automatisées bloquées – Si un site détecte des modèles de requêtes automatisées inhabituelles, son système de sécurité peut bloquer ces requêtes, ce qui entraîne souvent un 520 générique pour masquer la véritable cause.

Donc, en résumé, les 520 signifient généralement que le problème vient du serveur Web d'origine lui-même ou qu'il manquait certains composants requis dans votre demande. Il s’agit d’une vague erreur qui peut nécessiter quelques recherches pour en identifier la véritable source.

Comment réparer et éviter les erreurs 520

Maintenant que vous comprenez ce que signifie une erreur 520 et certaines causes courantes, que pouvez-vous réellement faire pour y remédier ? La réponse dépend si vous êtes le propriétaire du site Web lançant un 520 ou si vous essayez de gratter un site et d'éviter 520 blocs. Examinons quelques conseils pour chaque cas.

Pour les propriétaires de sites Web

Si vous voyez 520 erreurs sur votre site Web soutenu par Cloudflare, voici quelques étapes que vous pouvez suivre pour déboguer et résoudre le problème :

Vérifier la santé du serveur – Tout d’abord, assurez-vous que votre serveur d’origine est réellement opérationnel et accessible. Utilisez des outils de surveillance pour vérifier que le serveur reste réactif et n'est pas surchargé.

Examiner les journaux d'erreurs – Vérifiez les journaux d'erreurs de votre serveur pour détecter toute exception ou demande anormale susceptible de provoquer des réponses mal formées. Corrigez tous les bugs sous-jacents.

Valider le format de réponse – Vérifiez que le code de votre application renvoie toujours des réponses HTTP correctement formatées, avec le statut, les en-têtes et le corps. Assurez-vous que les cas extrêmes sont pris en compte.

Configurer les délais d'attente des requêtes – Si certaines requêtes prennent trop de temps et expirent, provoquant des 520 secondes, envisagez d'augmenter les paramètres de délai d'attente ou d'optimiser le code lent.

Testez différents chemins d’URL – Vérifiez si le 520 ne se produit que sur des pages ou des modèles d'URL spécifiques. Cela peut aider à isoler le code qui doit être corrigé.

Vérifier les en-têtes manquants – Si votre code attend certains en-têtes comme pour CORS ou l'authentification, assurez-vous que ces exigences sont documentées et traitées correctement.

La réparation des 520 côté serveur est souvent un processus d'élimination, de vérification des problèmes courants et de concentration sur la portée et la cause. L'erreur générique 520 de Cloudflare ne donne pas beaucoup d'indices.

Pour les grattoirs Web

Si vous essayez de supprimer un site Web mais que vous êtes bloqué par 520 codes d'état, voici quelques conseils pour les contourner :

Vérifier les en-têtes manquants – Inspectez les modèles de requête normaux du site et assurez-vous d'inclure tous les en-têtes attendus, comme User-Agent, Referer, Accept-Language, etc.

Évitez les modèles de requêtes anormaux – Espacez les demandes et n'accèdez pas à un site trop rapidement. Évitez les tentatives répétées en cas d’échec. Randomisez les modèles d’accès.

Utilisez des outils d'automatisation indétectables – Les navigateurs sans tête comme Puppeteer sont facilement détectables. Passez à un outil indétectable comme undetected-chromedriver.

Implémenter la rotation des proxys – Faites pivoter les adresses IP des demandes à l’aide d’un service proxy pour éviter les limites de débit et les blocages. La rotation des adresses IP des centres de données ou des adresses IP résidentielles via un fournisseur comme ScrapingBee peut aider à éviter les interdictions IP.

Vérifier les URL des demandes – Assurez-vous que les URL que vous demandez sont valides et n'ont pas changé. Une seule faute de frappe peut provoquer 520 erreurs.

Respectez le fichier robots.txt – Bien que cela ne soit pas toujours obligatoire, le respect des règles robots.txt d'un site peut souvent aider à éviter un blocage brutal qui entraîne des 520.

La clé pour éviter 520 blocs lors du scraping est de minimiser les éléments qui rendent vos modèles de requêtes différents de ceux des utilisateurs normaux. Une limitation minutieuse du débit, des en-têtes réalistes et des outils indétectables sont la voie à suivre.

Conclusion

Bien qu'un code d'état 520 puisse sembler une erreur vague et mystérieuse au premier abord, grâce aux connaissances acquises dans cet article, vous devriez maintenant bien comprendre ce que cela signifie et comment le corriger.

N'oubliez pas que 520 signifie que le serveur d'origine a donné une réponse inattendue, peut-être en raison d'une panne, d'un formatage HTTP non valide, d'en-têtes de sécurité manquants ou d'un blocage automatisé des requêtes. En tant que propriétaire de site Web, concentrez-vous sur la santé du serveur, la gestion appropriée des réponses et les exigences d'en-tête claires pour résoudre les 520. Et en tant que web scraper, composez vos modèles de requêtes, utilisez des outils et des proxys indétectables et respectez les règles du site. Avec quelques analyses et itérations, ces satanées erreurs 520 appartiendront au passé.

Prendre part à la conversation

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *