Comment résoudre l’erreur 429 “Trop de demandes” ?
L’erreur 429 Too Many Requests est un code d’état HTTP qui indique qu’un utilisateur a envoyé trop de requêtes dans un laps de temps donné. Il s’agit d’un mécanisme de limitation du débit qui protège le serveur contre les demandes excessives, qu’elles soient dues à un script mal configuré, à des robots d’exploration ou à des attaques par force brute. La résolution de cette erreur est cruciale pour garantir que les utilisateurs légitimes puissent accéder à votre site web sans interruption.
Ce guide vous présente les causes de l’erreur 429 et les solutions étape par étape pour la résoudre.
Quelles sont les causes de l’erreur 429 Too Many Requests ?
L’erreur 429 Too Many Requests est généralement causée par :
- Limitation du débit : Le serveur ou un pare-feu applicatif (tel que Cloudflare, Sucuri ou un plugin) limite le nombre de requêtes autorisées à partir d’un utilisateur, d’une adresse IP ou d’un navigateur spécifique.
- Bots et crawlers : Les bots ou les robots d’exploration peuvent envoyer de nombreuses demandes à un site web, ce qui amène le serveur à déclencher la limitation du débit.
- Plugins ou scripts mal configurés : Certains plugins WordPress, requêtes API ou scripts peuvent envoyer par inadvertance un trop grand nombre de requêtes au serveur, ce qui entraîne l’erreur.
- Attaques par force brute : Des tentatives de connexion répétées ou des menaces de sécurité telles que des attaques par force brute peuvent déclencher une limitation de débit sur les pages de connexion.
Comment corriger l’erreur 429 “Trop de requêtes” : Solutions étape par étape
Étape 1 : Identifier la source des demandes excessives
Pour résoudre l’erreur 429, vous devez d’abord identifier la cause des demandes excessives :
- Vérifiez les journaux du serveur : Les journaux du serveur peuvent fournir des indications sur les adresses IP ou les utilisateurs qui envoient trop de requêtes.
- Accédez à vos journaux en utilisant cPanel, SSH ou FTP.
- Recherchez les adresses IP ou les scripts qui envoient des requêtes fréquentes.
- Utilisez des plugins de sécurité : Si vous utilisez WordPress, des plugins tels que Wordfence ou iThemes Security peuvent vous aider à surveiller et à bloquer les activités suspectes.
Étape 2 : Augmenter les limites de débit sur votre serveur
Si l’erreur 429 est due à un trafic légitime qui dépasse les limites de débit du serveur, il se peut que vous deviez augmenter les limites de débit de votre serveur.
- Ajustez les limites de débit dans le fichier .htaccess (pour les serveurs Apache) :
- Accédez à votre fichier .htaccess via FTP ou cPanel.
- Ajoutez le code suivant pour autoriser davantage de requêtes :RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(POST|GET) RewriteCond %{REQUEST_URI} ^/your-page-url/ RewriteCond %{REMOTE_ADDR} ^(.*)$ RewriteRule .* – [F,L]
- Cet exemple limite le taux de requêtes à une page spécifique. Ajustez les conditions en fonction de vos besoins.
- Serveurs Nginx :
- Accédez à votre fichier nginx.conf et ajustez les paramètres de limitation de débit :http { limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s ; server { location / { limit_req zone=one burst=20 nodelay ; } } }
- Cette configuration autorise 10 requêtes par seconde et une rafale de 20 requêtes sans délai. Ajustez les valeurs en fonction de vos besoins.
- Accédez à votre fichier nginx.conf et ajustez les paramètres de limitation de débit :
Étape 3 : Désactiver temporairement les plugins (WordPress)
Dans WordPress, les plugins peuvent parfois être à l’origine de l’erreur 429 en raison des requêtes API ou des paramètres de limitation du débit :
- Connectez-vous à votre tableau de bord WordPress.
- Allez dans Plugins > Installed Plugins (plugins installés).
- Désactivez les plugins susceptibles d’interagir avec des API externes, tels que les plugins SEO, les plugins de mise en cache ou les plugins de sécurité.
- Vérifiez si l’erreur persiste sur votre site web.
- Réactivez les plugins un par un pour identifier celui qui est à l’origine du problème.
Conseil : Maintenez toujours vos plugins à jour afin d’éviter les problèmes de compatibilité qui pourraient entraîner des erreurs.
Étape 4 : Ajustez les limites des requêtes API
Si vous travaillez avec des API (telles que des API tierces ou des scripts personnalisés), veillez à ce que vos demandes ne dépassent pas les limites fixées par le fournisseur de l’API :
- Consultez la documentation de l’API : Consultez les limites de débit dans la documentation de l’API et adaptez vos scripts pour qu’ils respectent ces limites.
- Limitez les demandes d’API : Utilisez un système d’étranglement ou de limitation du débit dans vos demandes d’API pour éviter les appels excessifs. Par exemple, si vous utilisez JavaScript, vous pouvez mettre en œuvre la limitation avec des bibliothèques telles que lodash :_.throttle(() => { // Votre appel API ici }, 2000) ;
- Cet exemple envoie une requête API toutes les 2 secondes.
Étape 5 : Bloquer ou limiter les robots et les robots d’indexation
Les bots et les crawlers peuvent être à l’origine d’un nombre excessif de requêtes, ce qui conduit à l’erreur 429 :
- Bloquez les robots indésirables dans le fichier .htaccess :
- Ajoutez le code suivant au fichier .htaccess pour bloquer les robots indésirables connus :RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(BadBot|AnotherBadBot).*$ [NC] RewriteRule .* – [F,L]
- Remplacez BadBot et AnotherBadBot par les noms des bots que vous souhaitez bloquer.
- Ajoutez le code suivant au fichier .htaccess pour bloquer les robots indésirables connus :
- Utilisez un pare-feu d’application Web (WAF) :
- Utilisez des services tels que Cloudflare, Sucuri ou Wordfence (pour WordPress) pour bloquer les robots malveillants et contrôler le trafic vers votre site.
- Ces outils peuvent détecter et bloquer automatiquement les IP suspectes qui génèrent des requêtes excessives.
Étape 6 : Contactez votre fournisseur d’hébergement
Si vous ne parvenez pas à identifier la source de l’erreur 429, votre fournisseur d’hébergement web pourra peut-être vous éclairer :
- Ouvrez un ticket d’assistance auprès de votre fournisseur d’hébergement et décrivez le problème.
- Demandez-lui de vérifier les journaux du serveur à la recherche d’une activité inhabituelle ou de règles de limitation de débit.
- Il peut augmenter temporairement la limite de débit du serveur ou vous aider à bloquer le trafic problématique.
Étape 7 : Ajuster les paramètres du plugin de sécurité (WordPress)
Si vous utilisez un plugin de sécurité comme Wordfence ou iThemes Security, vérifiez les paramètres de limitation de débit :
- Allez dans les paramètres du plugin dans votre tableau de bord WordPress.
- Recherchez les paramètres de limitation du taux ou de protection contre la force brute.
- Ajustez le seuil des tentatives de connexion et des taux de requête pour qu’il soit plus souple.
- Enregistrez les modifications et testez votre site web pour voir si l’erreur est résolue.
Étape 8 : Effacer le cache et les cookies du navigateur
Parfois, l’erreur 429 peut être mise en cache dans votre navigateur :
- Effacez le cache dans Chrome :
- Allez dans Paramètres > Confidentialité et sécurité > Effacer les données de navigation.
- Sélectionnez Images et fichiers en cache et Cookies et autres données de site, puis cliquez sur Effacer les données.
- Essayez le mode Incognito : Si l’effacement du cache ne fonctionne pas, essayez d’accéder au site web en mode Incognito pour éliminer les problèmes de mise en cache.
Résumé
L’erreur 429 Too Many Requests peut être causée par des paramètres de limitation de débit, des requêtes API excessives ou un trafic malveillant. Voici un récapitulatif rapide de la manière de résoudre ce problème :
- Identifiez la source des requêtes excessives à l’aide des journaux du serveur.
- Augmentez les limites de débit dans .htaccess ou nginx.conf si le trafic légitime est à l’origine du problème.
- Désactiver temporairement les plugins pour identifier et corriger les scripts mal configurés.
- Ajustez les limites des demandes d’API et utilisez un système d’étranglement pour éviter de dépasser les limites de débit de l’API.
- Bloquez les robots et utilisez un pare-feu d’application Web pour gérer le trafic.
- Contactez votre hébergeur pour obtenir de l’aide si le problème persiste.
En suivant ces étapes, vous pouvez résoudre l’erreur 429 et vous assurer que votre site web reste accessible aux utilisateurs légitimes.