Quando si gestisce un sito web, ci sono una serie di codici di stato HTTP da conoscere. Alcuni, come l’errore HTTP 499, possono causare un timeout che interrompe il flusso di lavoro. Pertanto, bisogna assicurarsi che il proprio sito sia configurato correttamente per evitare questo problema.

Se il codice di stato HTTP 499 viene visualizzato spesso, o anche per la prima volta, può indicare un problema del sito che deve essere risolto. La buona notizia è che sono diverse le misure che è possibile adottare per risolvere il problema.

Segui la Nostra Video-Guida alla Risoluzione dell’Errore 499

In questo articolo spiegheremo cos’è il codice di stato HTTP 499 e quali possono essere le cause di questo errore. Poi vi illustreremo cinque possibili soluzioni che potete utilizzare per risolvere il problema. Iniziamo!

Cosa Significa il Codice di Stato HTTP 499

Il codice di stato HTTP 499, noto anche come “richiesta chiusa dal client”, è un caso particolare dell’errore 502 Bad Gateway. Indica che il client ha chiuso la connessione mentre il server stava ancora elaborando la richiesta.

L’HTTP 499 rientra nella categoria degli errori lato client. Altri errori comuni di questa categoria sono HTTP 400 Bad Request e HTTP 404 Not Found. Con questi errori, i problemi sono solitamente facili da definire. Tuttavia, l’errore HTTP 499 è più generico.

Questo errore può verificarsi sia sui server Nginx che Apache. Tuttavia, è più comune sui server Nginx perché è stato creato da Nginx.

L’errore HTTP 499 è più comune su Nginx perché il software del server gestisce le connessioni client in modo diverso da Apache. Con Nginx, ogni connessione client viene elaborata in un thread separato. Pertanto, se l’elaborazione di una connessione client richiede molto tempo, non rallenterà gli altri client.

Con Apache, invece, tutte le connessioni client vengono elaborate nello stesso thread. Questo può causare problemi se l’elaborazione di una connessione client richiede molto tempo, perché rallenterà tutti gli altri client.

Le Cause dell’errore HTTP 499

In genere, l’errore HTTP 499 appare nei log di Nginx. Questo può accadere per diversi motivi, ma più spesso è dovuto al timeout del browser o all’annullamento della richiesta da parte dell’utente.

Ad esempio, un sito web può ricevere il codice HTTP 499 quando il traffico è eccessivo. Ma l’errore può verificarsi anche quando la richiesta proviene da algoritmi che creano problemi al sito.

In alcuni casi, questo codice di stato può essere visualizzato anche quando non c’è alcuna risposta da parte del server e il client è rimasto in attesa di una risposta. In questi casi, di solito è meglio riprovare più tardi. Tuttavia, se si riceve costantemente questo codice di stato da un particolare server, potrebbe valere la pena indagare ulteriormente per capire se c’è un problema generale.

Come Risolvere l’Errore HTTP 499 (5 Possibili Soluzioni)

Ora che sappiamo qualcosa di più sull’errore HTTP 499, vediamo come risolverlo. Di seguito sono riportate cinque possibili soluzioni per il codice di stato HTTP 499!

1. Cancellare la Cache del Browser e Riprovare

Come abbiamo detto in precedenza, questo errore potrebbe essere causato da un problema temporaneo che può essere risolto semplicemente provando a caricare nuovamente la pagina. È possibile che l’host o il server siano sovraccarichi. Pertanto, consigliamo di cancellare la cache del browser e riprovare.

La cancellazione della cache varia a seconda del browser utilizzato. Se usate Google Chrome, andate sui tre punti verticali nell’angolo superiore destro della finestra, quindi andate su Altri strumenti > Cancella dati di navigazione:

Opzione Cancella dati di navigazione in Google Chrome
Cancella dati di navigazione in Google Chrome

Vi verrà chiesto di scegliere quali dati cancellare dalla cache del browser:

Scegliere i dati da cancellare
Scegliere i dati da cancellare

Quando avete fatto, ricaricate il browser. Potete anche provare a utilizzare un altro browser nel frattempo. Poi visitate il sito per controllare se il messaggio di errore è ancora presente.

2. Disattivare i Plugin e le Estensioni

Alcuni utenti hanno segnalato che alcuni plugin generano l’errore del codice di stato HTTP 499. Per questo motivo, consigliamo di disabilitare temporaneamente i plugin per vedere se questo risolve il problema.

Per farlo, andate alla schermata dei plugin nella bacheca di WordPress, selezionateli tutti e fate clic su Disattiva > Applica dal menu delle azioni in blocco:

La schermata dei plugin di WordPress
La schermata dei plugin di WordPress

Potete anche collegarvi al vostro sito tramite un client FTP un o File Manager e navigare nella cartella dei plugin (wp_content > plugins). Fate clic con il tasto destro del mouse sulla cartella plugins e rinominatela in qualcosa come “plugins_old”

In questo modo verranno disattivati tutti i plugin del sito WordPress. Poi visitate il vostro sito web per verificare se il messaggio di errore è ancora presente. Se l’errore non compare più, provate ad riattivare i plugin uno alla volta fino a trovare quello che causa il problema.

3. Controllare i Log degli Errori

Quando si lavora per risolvere il problema del codice HTTP 499, è fondamentale sfruttare i log degli errori. In questo modo sarà più facile circoscrivere le cause del problema e stabilire se questo deriva da un plugin o da uno strumento specifico.

Se non siete utenti di Kinsta, potete attivare e visualizzare i log degli errori attivando la modalità di debug di WordPress. Ma se siete utenti di Kinsta, potete vedere gli errori in modo semplice e veloce nel visualizzatore dei log dalla vostra dashboard MyKinsta:

Screenshot del visualizzatore di log della dashboard di MyKinsta
Il visualizzatore di log della dashboard di MyKinsta

Potete anche controllare i file di log di Nginx (/var/log/nginx.error.log) e Apache (/var/log/apache2/error.log). Inoltre, gli utenti di Kinsta possono sfruttare il nostro strumento di analisi per dare un’occhiata più da vicino agli errori del sito. In questo modo potrete capire quanto spesso si verificano e se l’errore HTTP 499 è un problema continuo.

4. Usare uno Strumento di Monitoraggio delle Prestazioni delle Applicazioni (APM)

Quando si gestisce un sito web, è importante disporre di soluzioni affidabili per individuare e risolvere gli errori del sito. Consigliamo di utilizzare uno strumento di Application Performance Monitoring (APM).

Gli strumenti APM possono aiutarvi a individuare gli script o i plugin che possono causare diversi errori, come ad esempio l’errore HTTP 499. Includiamo il nostro strumento APM di Kinsta, così come una serie di altri strumenti DevKinsta, su tutti i nostri piani:

Schermata di Kinsta APM
Schermata di Kinsta APM

Ad esempio, lo strumento APM può aiutarvi a raccogliere dati preziosi e a stabilire quali applicazioni stanno causando ritardi. Una volta abilitato, potete usare Kinsta APM per visualizzare le transazioni più lente del vostro sito, tracciarne le tempistiche e comprendere le cause dei problemi. Il nostro strumento APM fornisce anche informazioni sui processi PHP, sulle query MySQL, sulle richieste HTTP esterne e molto altro.

5. Contattare l’Host e Chiedere un Aumento del Timeout

Come abbiamo detto, a volte gli errori HTTP 499 si verificano quando una richiesta viene annullata perché sta impiegando troppo tempo. Alcuni hosting provider utilizzano un “kill script”.

In breve, un kill script obbliga a terminare una richiesta dopo un certo periodo di tempo. Questo script viene spesso utilizzato negli ambienti di hosting condiviso per evitare che richieste troppo lunghe abbiano un impatto sugli altri siti.

Se siete utenti di Kinsta, non dovete preoccuparvi di questo. Ogni sito ospitato sulla nostra piattaforma viene eseguito in un container software isolato che include tutte le risorse e il software. Tutto è completamente privato e nessuna delle vostre risorse è condivisa, quindi non eseguiamo kill script.

Tuttavia, per quanto riguarda l’errore HTTP 499, è importante notare che il “client” potrebbe essere un proxy, come un Content Delivery Network (CDN) o un bilanciatore di carico. Un servizio di bilanciamento del carico può fungere da client per il server Nginx e proxy dei dati tra il vostro server e gli utenti. Questo può causare un timeout che annulla la richiesta al server Nginx.

I timeout di PHP si verificano se un processo supera il tempo massimo di esecuzione (max_execution_time) o il max_input_time specificato nella configurazione PHP del server. Potreste incorrere in timeout se avete un sito web molto trafficato o script che richiedono tempi di esecuzione più lunghi. Pertanto, potrebbe essere necessario aumentare il valore del timeout.

Supponiamo che una richiesta richieda 20 secondi per essere completata. Se avete un’applicazione con un valore di timeout di 10 secondi, probabilmente l’applicazione andrà in timeout prima di completare la richiesta. In questo caso vedrete probabilmente il codice di stato HTTP 499.

Pertanto, è bene verificare presso il vostro host quali sono i valori impostati sul server. Su Kinsta, i valori predefiniti di max_execution_time e max_input_time sono impostati a 300 secondi (5 minuti). I valori massimi di timeout PHP variano a seconda del piano.

Se necessario, contattate il vostro provider di hosting per richiedere un aumento del timeout. Come utenti di Kinsta, potete aprire un ticket con il nostro team di supporto.

Riepilogo

I codici di stato HTTP che il proprietario di un sito web deve conoscere sono numerosi. Alcuni dei più complicati sono gli errori basati sul client, come il codice HTTP 499. La buona notizia è che esistono una serie di misure utili per risolvere questo problema.

In questo post abbiamo descritto cinque possibili soluzioni per risolvere l’errore del codice di stato HTTP 499. Tutte le soluzioni sono valide; se una non funziona, un’altra dovrebbe andar bene.

Volete risolvere i problemi di WordPress nel modo più indolore possibile? Date un’occhiata ai piani di hosting Kinsta per scoprire come il nostro strumento APM e le altre soluzioni possono semplificare la manutenzione e la gestione del vostro sito web!