Come risolvere l'errore HTTP 429: cause ed esempi
Questo tutorial riguarda i seguenti argomenti:
Se possiedi un sito web o navighi frequentemente in Internet, potresti aver riscontrato l’errore HTTP 429 Too Many Requests. Questo errore si verifica quando un server rileva che un client ha superato i limiti di velocità o ha effettuato troppe richieste in un determinato periodo di tempo.
Si tratta di un errore lato client, nel senso che è causato da azioni intraprese dall’utente o dal client e non dal server che ospita il sito web.
In questo articolo, discuteremo cos’è HTTP 429, cosa causa l’errore HTTP 429 Too Many Requests, forniremo esempi del messaggio di errore e offriremo undici soluzioni collaudate per risolverlo.
Qual è l’errore 429 Too Many Requests?
L’errore HTTP 429 tecnicamente non è un errore ma è una risposta a livello di applicazione che un server sta inviando a un client (browser) che supera il limite di richieste per un periodo di tempo specificato. Il codice di errore HTTP 429 Too Many Requests è uno dei tanti codici di stato HTTP 4.xx che indicano errori dal lato client e non dal server.
Normalmente i server web impostano un limite di possibili richieste HTTP per un determinato periodo di tempo. Impongono questa misura di sicurezza per evitare sovraccarichi e tempi di inattività. L’errore di solito si verifica quando un client invia troppe richieste e raggiunge tale limite. Di conseguenza, il server interrompe la connessione e invia la risposta HTTP 429 al client.
A seconda del browser in uso, potrebbero apparire diverse varianti del messaggio di errore:
- 429 Too Many Requests
- 429 Error
- HTTP 429
- Error 429 (Too Many Requests)
- There was a problem with the server 429
- 429. That’s an error.
- 429 server error
Ecco un esempio del codice di stato HTTP 429 su Google Chrome.
Oltre ai siti web, potresti vedere il codice di errore in strumenti online come i programmi di installazione SSL. Di seguito è riportato un esempio del programma di installazione Let’s Encrypt SSL di SiteGround in Site Tools, producendo l’errore 429 Too Many Requests quando si raggiunge il limite di frequenza delle richieste di certificato.
Quali sono le cause dell’errore HTTP 429?
L’errore HTTP 429 Too Many Requests si verifica quando il server riceve troppe richieste da un client entro un determinato periodo di tempo. Pertanto, il client supera i limiti di velocità impostati dal server. Ciò può accadere a causa di vari motivi, come ad esempio:
- Limiti delle risorse del server – Ogni server web ha determinati limiti di risorse in termini di utilizzo della CPU, memoria e altre risorse del server. Se il tuo sito web supera questi limiti, può attivare l’errore 429 Too Many Requests. Ciò può accadere se il tuo sito web riceve un improvviso aumento del traffico o se utilizzi un piano di hosting condiviso con risorse limitate.
- Tentativi di accesso brute-force – Gli attacchi brute-force sono un tipo di attacco dannoso in cui un utente malintenzionato tenta di ottenere l’accesso non autorizzato al tuo sito web provando sistematicamente diverse combinazioni di nome utente e password. Ciò può comportare l’invio di più richieste al server in un breve periodo di tempo, attivando l’errore 429.
- Volume di traffico elevato – Se il tuo sito web registra un volume di traffico elevato, specialmente durante le ore di punta, può comportare l’invio simultaneo di più richieste al server, causando il superamento dei limiti di velocità del server e attivare l’errore 429.
- Numerose richieste al server del sito web – Un utente potrebbe inviare un gran numero di richieste al server del sito web. In tal caso, il server potrebbe rispondere con il codice 429 Too Many Requests.
- Database non ottimizzato – Il database del tuo sito web potrebbe non essere in condizioni ottimali. Potrebbe essere pieno di contenuti spazzatura, dati transitori o tabelle rimanenti, gonfiandone le dimensioni. Ciò può allungare l’esecuzione delle query del database, esaurendo le risorse del server. Di conseguenza, il sito web potrebbe generare un errore HTTP 429.
- Plugin di WordPress – Occasionalmente, un plugin di WordPress potrebbe smettere di funzionare come previsto e creare conflitti con altre parti del tuo sito web. Questo può portare a un timeout o a un gran numero di esecuzioni che consumano notevoli risorse del server web.
- Temi WordPress – Come i plugin, anche i temi potrebbero smettere di funzionare normalmente, portando all’errore 429 Too Many Requests.
Ora che sappiamo cosa causa l’errore HTTP 429 Too Many Requests, diamo un’occhiata a un esempio del codice di stato 429.
Esempio di codice di stato 429
Quando incontri un errore 429 Too Many Requests, in genere vedrai un messaggio sullo schermo. La dicitura esatta può variare a seconda del server e dell’applicazione in uso. Tuttavia, di solito include un codice di stato 429 che indica che sono state effettuate troppe richieste.
L’errore HTTP può anche fornire ulteriori dettagli che spiegano perché si è verificato l’errore e come risolverlo. Ecco un esempio di come potrebbe apparire un messaggio di errore HTTP 429:
HTTP/1.1 429 Too Many Requests
Retry-After: 3600
Content-Type: application/json
{
"error": {
"code": 429,
"message": "Too Many Requests: You have exceeded the rate limit. Please try again after 1 hour.",
"details": "You have made 500 requests within the past 10 minutes. The rate limit is 100 requests per 10 minutes. Please reduce the frequency of your requests.",
"retry_after": 3600
}
}
In questo caso, il server ha fissato un limite di velocità di 100 richieste per 10 minuti. Tuttavia, il client ha effettuato 500 richieste negli ultimi 10 minuti, superando il limite. Il server ha specificato un header Retry-After che indica che il client deve attendere 1 ora prima di effettuare ulteriori richieste.
Come correggere l’errore HTTP 429?
L’errore HTTP 429, comunemente chiamato errore “Too Many Requests”, si verifica quando un utente supera i limiti di velocità impostati da un server o un’API. Di solito deriva dall’invio di un numero eccessivo di richieste entro un periodo di tempo specificato.
Questo errore può interrompere il normale funzionamento di un’applicazione o di un servizio che si basa sul server o sull’API, ma fortunatamente esistono diverse soluzioni per risolverlo.
Esploreremo alcuni passaggi pratici per correggere l’errore HTTP 429, incluso il rispetto dei limiti di velocità, l’ottimizzazione della frequenza delle richieste e altro ancora.
Utilizza una rete per la distribuzione di contenuti (CDN)
Una rete per la distribuzione di contenuti (CDN) è una rete di server distribuiti in più località in tutto il mondo. Quando un utente visita il tuo sito web, il CDN fornisce le risorse statiche (come immagini, CSS e file JavaScript) dal server più vicino alla posizione dell’utente. Questo aiuta a ridurre il carico sul tuo server web e prevenire l’errore 429.
Puoi utilizzare un servizio CDN, come la CDN di SiteGround, per distribuire le tue risorse statiche su più server e servirle agli utenti dal server più vicino. Ciò può migliorare notevolmente le prestazioni e l’affidabilità del tuo sito web, specialmente durante un traffico elevato.
Tutti gli utenti di SiteGround possono trarre vantaggio dall’utilizzo della CDN di SiteGround, disponibile su tutti i piani. Puoi attivarla da Site Tools > Velocità > CDN. Scegli tra il piano Gratis e Premium premendo il corrispondente pulsante Attiva di entrambe le opzioni.
Scopri di più sulla CDN di SiteGround in questo tutorial su come gestire la tua CDN tramite lo strumento CDN in Site Tools.
Ottimizza il tuo database
Un database scarsamente ottimizzato può aumentare il carico sul tuo server. Di conseguenza, il tuo sito web potrebbe soffrire di prestazioni lente e utilizzo elevato delle risorse, portando all’errore 429. Per risolvere questo problema, puoi ottimizzare il tuo database per ridurne le dimensioni e migliorarne le prestazioni.
Puoi utilizzare i plug-in per il tuo sito WordPress per ripulire il tuo database. Possono rimuovere i dati non necessari, come le revisioni dei post, lo spam nella sezione dei commenti e le opzioni transitorie. Consigliamo il plugin Speed Optimizer disponibile per tutti gli utenti. Fornisce l’opzione Manutenzione programmata del database, che ripulisce settimanalmente il tuo database dai dati spazzatura.
Per attivarlo, apri il menu Speed Optimizer nella dashboard di WordPress. Vai alla sezione Ambiente e premi MODIFICA per la Manutenzione programmata del database.
Nella seguente finestra pop-up, seleziona le azioni che la manutenzione deve eseguire e premi CONFERMA.
Inoltre, puoi riparare e ottimizzare le tabelle del tuo database utilizzando le funzionalità di ottimizzazione del database integrate in phpMyAdmin. Per ulteriori informazioni, leggi questa guida su come ottimizzare un database MySQL.
Utilizzare Rate Limiting sul lato client
Un modo efficace per prevenire l’errore HTTP 429 è implementare il rate limiting sul lato client. La limitazione della velocità è una tecnica che limita il numero di richieste che un cliente può effettuare entro un periodo di tempo specificato. Utilizzando questo metodo, puoi evitare che i client facciano troppe richieste e superino i limiti di velocità impostati dal server.
Puoi implementare rate limiting utilizzando librerie o framework che forniscono funzionalità di limitazione della velocità o logica di limitazione della velocità personalizzata nel codice. Ad esempio, è possibile impostare un limite al numero di richieste che un client può effettuare entro un determinato periodo di tempo (ad esempio, 100 richieste per 10 minuti) e bloccare o ritardare ulteriori richieste dal client se il limite viene superato. Questo può aiutare a prevenire l’errore 429 e garantire che i client non sovraccarichino il tuo server con troppe richieste.
Cambia il tuo URL di accesso WordPress predefinito
Gli attacchi di brute-force spesso causano l’errore 429. In questi attacchi, i bot automatici tentano ripetutamente di accedere al tuo sito web utilizzando diverse combinazioni di nomi utente e password. Nascondendo il tuo URL di accesso o spostando la tua pagina di accesso WordPress predefinita, puoi aggiungere un ulteriore livello di sicurezza e proteggere la tua area di amministrazione di WordPress.
Puoi facilmente modificare l’URL di accesso con qualcosa di personalizzato con i plugin di WordPress come Security Optimizer. In questo modo, i bot avranno più difficoltà a trovare e indirizzare l’URL di accesso. Questo può ridurre il numero di tentativi di accesso non autorizzati e aiutare a prevenire l’errore 429.
Scopri di più su questa funzionalità nel tutorial Security Optimizer sulla sicurezza dell’accesso.
Passa a un tema WordPress predefinito
Se hai installato di recente un tema personalizzato o apportato modifiche al codice del tuo tema, è possibile che ciò causi conflitti o sovraccarichi le risorse dell’utente o del server, causando l’errore 429. In questi casi, il ripristino di un tema WordPress predefinito può aiutare a isolare e risolvere il problema.
Puoi passare a un tema WordPress predefinito, come Twenty Twenty-One o Twenty Twenty, per vedere se l’errore persiste. Se l’errore scompare, molto probabilmente il tuo tema attivo in precedenza stava causando il problema. Puoi quindi esaminare e risolvere eventuali conflitti o problemi di prestazioni relativi al tuo tema personalizzato. Prendi in considerazione l’idea di contattare l’assistenza del tema o di utilizzare un tema completamente diverso.
Se l’errore non ti impedisce di accedere al back-end del tuo sito web, accedi alla tua bacheca di WordPress. Vai a Aspetto > Temi. Qui puoi scegliere il tema attivo tra tutti i temi installati sul tuo sito web. Per cambiare tema, premi il pulsante Attiva su uno dei tuoi temi predefiniti.
L’errore “Too Many Requests” potrebbe impedirti di accedere alla dashboard di WordPress per modificare il tema. In questo caso, puoi cambiare il tema attivo dalla tabella wp_options nel database del sito web. Controlla questa guida su come cambiare il tema WordPress dal database per maggiori dettagli e istruzioni.
Svuota la cache del browser
A volte, il tuo browser può memorizzare dati obsoleti o corrotti che attivano errori durante il caricamento di pagine web, incluso il codice di stato HTTP 429. Cancellare i dati di navigazione memorizzati nella cache può aiutare a risolvere tali problemi e assicurarsi di caricare l’ultima versione del tuo sito.
In genere è possibile svuotare la cache dal menu delle impostazioni del browser. Leggi le seguenti guide per trovare i passaggi per il tuo browser o dispositivo.
- Come pulire la cache sui browser desktop
- Come pulire la cache su Android
- Come pulire la cache su iPhone
Svuota la cache DNS
I computer memorizzano la cache DNS (Domain Name System) che mantiene le informazioni sul nome di dominio per le mappature dell’indirizzo IP. Se la cache DNS diventa obsoleta o danneggiata, può causare problemi con la connessione al tuo sito web e attivare l’errore 429.
Lo svuotamento della cache DNS costringerà il computer a recuperare le informazioni DNS più recenti e può aiutare a risolvere i problemi relativi alla cache DNS. Leggi le seguenti guide per cancellare la cache DNS sul tuo particolare sistema operativo (OS):
- Come pulire la cache DNS su Mac
- Come pulire la cache DNS su Windows
- Come pulire la cache DNS su Linux
Limita gli attacchi brute-force
Gli attacchi brute-force possono attivare l’errore HTTP 429 inviando più richieste al tuo server in un breve periodo di tempo. Per prevenire attacchi brute-force, puoi implementare misure per rilevare e bloccare i tentativi di accesso sospetti.
Una tecnica comune consiste nell’implementare un sistema CAPTCHA o reCAPTCHA nella pagina di accesso del tuo sito web. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) è una misura di sicurezza che richiede agli utenti di completare una sfida (come digitare una serie di caratteri distorti) per dimostrare che sono umani e non robot. reCAPTCHA è una versione più avanzata di CAPTCHA che utilizza algoritmi di apprendimento automatico per rilevare e bloccare tentativi di accesso sospetti.
Se il tuo sito web è basato su WordPress, puoi facilmente proteggere le tue pagine con un reCAPTCHA usando un plugin. Uno dei più popolari è reCaptcha di BestWebSoft. Scarica il plugin e attivalo da Plugins > Aggiungi Nuovo nella dashboard.
x
Leggi il manuale per la configurazione del plug-in con Google reCAPTCHA. Puoi selezionare quali sezioni del tuo sito web saranno protette da reCAPTCHA. Si consiglia di proteggere la pagina di accesso e la sezione dei commenti, che sono comunemente prese di mira dai bot. Una volta che il reCAPTCHA è attivo, gli utenti dovranno completare una sfida visiva per accedere o pubblicare un commento sul tuo sito web.
Controlla i limiti delle risorse del server
L’errore 429 “Too Many Requests” può verificarsi anche se il tuo sito supera i limiti di risorse impostati dal tuo provider di hosting. Questi limiti possono includere l’utilizzo della CPU, l’utilizzo della memoria e un numero massimo di connessioni simultanee. Controllare i limiti delle risorse del server e aumentarli se necessario può aiutare a risolvere l’errore.
Puoi contattare il tuo fornitore di hosting o controllare il pannello di controllo del tuo account di hosting per informazioni sui limiti delle risorse. Gli utenti di SiteGround possono monitorare l’utilizzo delle risorse dalla loro Area clienti > Servizi > Hosting. Fai clic sul pulsante Gestisci del piano di hosting.
Seleziona la scheda Statistiche per verificare le varie risorse utilizzate nel tuo piano.
Se utilizzi un piano di hosting condiviso, potrebbe essere necessario eseguire l’upgrade a un piano superiore per garantire risorse sufficienti per il tuo sito WordPress.
Controlla i log di accesso e blocca gli indirizzi IP sospetti
In molti casi, l’errore HTTP 429 è causato da bot o visitatori dannosi con un indirizzo IP specifico. La loro attività dovrebbe essere registrata nei log di accesso al server. Di solito, dovresti essere in grado di ispezionare i log di accesso nel pannello di controllo del tuo account. Dopo aver identificato l’IP malevolo, puoi impedirgli di generare nuove richieste.
Gli utenti di SiteGround possono controllare i log in Site Tools > Statistiche > Registro accessi. I log mostrano tutte le richieste al tuo sito web e da quali indirizzi IP provengono.
Dopo aver identificato un IP sospetto, puoi impedirgli di accedere al tuo sito web. In Site Tools , puoi utilizzare lo strumento Sicurezza >Traffico Bloccato. Digita l’indirizzo IP nel campo IP/Intervallo di IP e conferma con il pulsante Blocca.
Scopri di più sullo strumento in questa guida su come bloccare un IP e rimuovere un blocco IP in Site Tools.
Disattiva temporaneamente tutti i plugin di WordPress
Un plugin WordPress mal configurato potrebbe anche causare l’errore HTTP 429 “Too Many Requests”. Il tuo obiettivo principale dovrebbe essere quello di accedere alla tua bacheca e vedere se un plugin stia attivando l’errore.
Se l’errore HTTP 429 non ti impedisce di accedere al back-end, accedi e vai a Plugin > Plugin installati. Spunta la casella Plugin per selezionare tutti i plugin, scegli Disattiva dal menu Azioni di gruppo e clicca Applica.
Se uno dei tuoi plugin è il colpevole, l’errore HTTP dovrebbe scomparire. Abilita i plugin uno per uno premendo il pulsante Attiva per ciascun plugin fino a quando non viene restituito l’errore HTTP. In questo modo, identificherai il plugin problematico.
Sfortunatamente, l’errore persiste spesso anche nella pagina di accesso, impedendoti di accedere alla tua bacheca. In questo caso, dovrai utilizzare un metodo alternativo per disabilitare i plugin. Per facilitare la gestione di WordPress, SiteGround ha sviluppato una funzionalità per disabilitare rapidamente tutti i plugin con un click.
Vai a Site Tools > WordPress > Installa e gestisci. Clicca sul menu Azioni (kebab) e seleziona Disabilita tutti i plugin.
Una volta disabilitati i plugin, dovresti essere in grado di accedere alla dashboard di WordPress. Procedi con l’attivazione dei plugin uno per uno per trovare il plugin problematico.
Se le opzioni di cui sopra non sono disponibili, puoi disabilitare i plugin direttamente dal database. Scopri di più su questa opzione da questa guida su come disabilitare i plugin di WordPress dal database usando phpMyAdmin.
Come ultima risorsa, puoi anche disattivare i plugin rinominando la cartella plugins dei tuoi file WordPress tramite Gestione File o FTP. Il percorso della cartella è:
tuosito.com/public_html/wp-content/plugins
Rinomina la cartella con qualsiasi altra cosa, ad esempio – plugins.deactivated o plugins1.
Se riesci ad accedere normalmente al tuo sito dopo aver disabilitato i plugin, la tua prossima mossa dovrebbe essere quella di ripristinare la cartella plugins al suo nome originale. Una volta fatto, apri la cartella tramite FTP o Gestione File e inizia a scorrere l’elenco dei plugin attivi. Per ogni plugin, ti consigliamo di modificare il nome della cartella individuale, che lo disabiliterà. Quindi controlla se l’errore persiste. Una volta identificato quale plugin stava causando il problema, puoi tenerlo disabilitato, segnalare il problema gli autori del plugin e chiedere una soluzione, o trovare un plugin sostitutivo.
Riepilogo
Trovarsi di fronte al codice di stato HTTP 429 Too Many Requests è un evento comune per i siti web di tutti i tipi. Questo errore può derivare da varie cause, come ad esempio:
- problemi di ottimizzazione del database,
- limiti delle risorse del server,
- attacchi brute-force,
- clienti che inviano troppe richieste.
La risoluzione di questo errore può comportare l’adozione di misure come l’ottimizzazione del database, il monitoraggio e la regolazione dei limiti delle risorse del server e l’implementazione di misure di sicurezza contro i tentativi di forzatura.
È consigliabile chiedere un aiuto professionale o consultare il tuo provider di hosting se non sei sicuro nell’implementare queste soluzioni. Affrontando i problemi sottostanti, puoi garantire il buon funzionamento del tuo sito web e fornire una migliore esperienza utente ai tuoi visitatori.