Gli errori accadono – c’è qualche manutenzione inaspettata, un bug che è passato inosservato, o una pagina diventa virale e la marea di connessioni porta il server giù.

Se sei stato online per un certo periodo di tempo, senza dubbio hai visto il vago errore 503 Service Unavailable.

In questo articolo andremo oltre i codici di stato HTTP, cosa significa l’errore 503, e alcuni possibili modi per risolverlo – sia per un sito che state cercando di visitare che per il vostro sito.

Una panoramica dei codici di stato HTTP

I server che ospitano pagine web ascoltano le richieste dai browser web o dai dispositivi, conosciuti anche come client. Il server poi usa un mucchio di codici di stato diversi per comunicare in risposta.

Questi codici di stato sono organizzati in diverse classi, che è indicato dal primo numero del codice di stato:

  • 1xx: Informazione – il server sta ancora elaborando la richiesta
  • 2xx: Successo – la richiesta è riuscita e il server risponde con la pagina o risorsa
  • 3xx: Redirection – la pagina o la risorsa si è spostata e il server risponderà con la sua nuova posizione
  • 4xx: Client error – c’è un errore nella richiesta dal browser o dal dispositivo
  • 5xx: Server error – c’è un errore con il server

Le ultime due cifre di ogni codice di stato HTTP rappresentano uno stato più specifico per ogni classe. Per esempio, 301 significa che una pagina o una risorsa si è spostata in modo permanente, mentre 302 significa che lo spostamento è temporaneo.

Guarda questa pagina per un elenco di codici di stato HTTP comuni e il loro significato: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

La maggior parte dei codici di stato passano totalmente inosservati, il che va bene perché significa che tutto funziona. È solo quando si arriva alla gamma 4xx-5xx che si potrebbe notare un codice di stato perché si vedrà una pagina come questa:

Una tipica pagina di errore 503 – Fonte: Stack Overflow

Ora che hai una comprensione di base dei codici di stato HTTP, scaviamo un po’ più a fondo nell’errore 503 Service Unavailable.

Cosa significa il codice di errore 503?

Come detto sopra, i codici di stato 5xx significano che c’è un problema con il server stesso.

Un errore 503 Service Unavailable significa che la pagina o risorsa non è disponibile. Ci sono molte ragioni per cui un server potrebbe restituire un errore 503, ma alcune ragioni comuni sono la manutenzione, un bug nel codice del server, o un improvviso picco di traffico che causa il sovraccarico del server.

Il messaggio che viene inviato con l’errore 503 può variare a seconda del server da cui proviene, ma ecco alcuni di quelli comuni che vedrete:

– 503 Service Unavailable
– 503 Service Temporarily Unavailable
– HTTP Server Error 503
– HTTP Error 503
– Error 503 Service Unavailable
– The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Si prega di riprovare più tardi.
Fonte

Qualunque sia la ragione dell’errore 503, di solito è temporaneo – il server si riavvierà, il traffico diminuirà e il problema si risolverà da solo.

Come risolvere l’errore 503 Status Unavailable

Quando si cerca di risolvere un errore 503, ci sono due campi generali.

Il primo è quando sei un utente finale, e stai cercando di visitare un sito che non ti appartiene. Nel secondo, il sito è di vostra proprietà, e sta lanciando errori 503 alle persone che stanno cercando di visitarlo.

Il metodo per risolvere gli errori 503 è diverso a seconda del gruppo in cui si rientra. Diamo un’occhiata ad alcune cose che puoi fare come utente finale se vedi un errore 503.

Come risolvere un errore 503 Status Unavailable come utente finale

Siccome i codici di stato 5xx significano che l’errore è sul lato server, non c’è molto che tu possa fare direttamente.

Anche se gli errori 503 sono di solito temporanei, ci sono alcune cose che puoi fare mentre aspetti.

#1: Aggiorna la pagina

A volte l’errore è così temporaneo che basta un semplice aggiornamento. Con la pagina aperta, basta premere Ctrl – R su Windows e Linux, o Cmd – R su macOS per aggiornare la pagina.

#2: Guarda se la pagina è giù per altre persone

La prossima cosa che puoi fare è usare un servizio come Is It Down Right Now? o Down For Everyone Or Just Me per vedere se altre persone stanno ricevendo lo stesso errore.

Basta andare su uno di questi siti e inserire l’URL della pagina che stai cercando di visitare.

Il servizio farà un ping dell’URL inserito per vedere se riceve una risposta. Poi ti mostrerà alcune statistiche e grafici interessanti sulla pagina:

Checking freeCodeCamp on Is It Down Right Now?

Se scorri un po’ in basso vedrai alcuni commenti di altre persone. Spesso le persone daranno la loro posizione generale e altri dati, quindi questo può essere un buon modo per determinare se l’errore sta colpendo solo alcune regioni o dispositivi specifici.

#3: Riavvia il tuo router

A volte il problema ha a che fare con un fallimento del server DNS.

DNS sta per Domain Name System, e fondamentalmente agiscono come traduttori tra indirizzi IP e URL leggibili dall’uomo.

Per esempio, puoi visitare Google inserendo direttamente il suo lungo indirizzo IP (172.217.25.206), o puoi semplicemente inserire l’URL, www.google.com.

È un DNS, spesso ospitato su un server, che gestisce tutto questo dietro le quinte.

Tutto questo per dire che molti router mettono in cache le risposte dei server DNS (www.google.com <==> 172.217.25.206). Ma a volte questa cache può essere corrotta e causare errori.

Un modo semplice per resettare o “pulire” la cache è riavviare il router. Basta scollegare il router per circa 5 secondi, poi ricollegarlo di nuovo.

Dovrebbe riavviarsi dopo un minuto e tutti i tuoi dispositivi dovrebbero ricollegarsi automaticamente. Una volta fatto, prova a visitare di nuovo il sito.

Come risolvere un errore 503 Status Unavailable come proprietario del sito

Se sei il proprietario/sviluppatore del sito che sta restituendo errori 503, c’è qualcosa di più che puoi fare per diagnosticare e risolvere il problema.

Ecco alcuni consigli generali per iniziare:

#1: Riavvia il server

Lo sviluppo è difficile – anche una semplice pagina statica può avere così tante parti mobili che può essere difficile individuare la causa dell’errore 503.

A volte la cosa migliore da fare è riavviare il server e vedere se questo risolve il problema.

Fonte: imgflip

Il metodo esatto per riavviare il tuo server può variare, ma di solito puoi accedervi dalla dashboard del tuo provider o tramite SSH nel server ed eseguire un comando di riavvio.

Il server dovrebbe ripartire dopo un paio di minuti. Se hai configurato tutto per essere eseguito automaticamente all’avvio, puoi visitare il tuo sito e vedere se funziona.

#2: Controlla i log del server

La prossima cosa da fare è controllare i log.

La posizione dei log del server può variare a seconda del servizio che stai eseguendo, ma spesso si trovano in /var/log/....

Dai un’occhiata in quella directory e vedi se trovi qualcosa. Se no, controlla il manuale dei tuoi programmi eseguendo man program_name.

#3: Controlla se c’è una manutenzione automatica in corso

Alcuni fornitori di servizi offrono aggiornamenti e manutenzione automatici dei pacchetti. Normalmente questa è una buona cosa – di solito si verificano durante i tempi di inattività, e aiutano ad assicurarsi che tutto sia aggiornato.

Occasione gli errori 503 sono dovuti a queste sessioni di manutenzione programmata.

Per esempio, alcuni fornitori di hosting specializzati in hosting WordPress aggiornano automaticamente WP ogni volta che c’è una nuova versione. WordPress restituisce automaticamente un errore 503 Service Unavailable ogni volta che viene aggiornato.

Controlla con i tuoi fornitori di servizi per vedere se l’errore 503 è causato dalla manutenzione programmata.

#4: Controlla le impostazioni del firewall del tuo server

A volte gli errori 503 Service Unavailable sono causati da un firewall mal configurato dove le connessioni possono passare, ma non riescono a tornare al client.

Il vostro firewall potrebbe anche aver bisogno di impostazioni speciali per un CDN, dove connessioni multiple da una piccola manciata di indirizzi IP potrebbero essere mal interpretate come un attacco DDoS.

Il metodo esatto per regolare le impostazioni del vostro firewall dipende da molti fattori. Dai un’occhiata alla tua pipeline e alle dashboard del tuo fornitore di servizi per vedere dove puoi configurare il firewall.

#5: Controlla il codice

I bug, come gli errori, capitano. Per quanto si possa provare, è impossibile prenderli tutti. Occasionalmente uno potrebbe sfuggire e causare un errore 503.

Se hai provato tutto il resto e il tuo sito mostra ancora un errore 503 Service Unavailable, la causa potrebbe essere da qualche parte nel codice.

Controlla qualsiasi codice lato server, e presta particolare attenzione a qualsiasi cosa abbia a che fare con le espressioni regolari – un piccolo bug regex è ciò che ha causato un enorme picco nell’utilizzo della CPU, interruzioni di servizio, e circa tre giorni di panico per noi al freeCodeCamp.

Spero che sarete in grado di rintracciare il colpevole, distribuire una correzione e tutto tornerà alla normalità.

In sintesi

Questo dovrebbe essere tutto ciò che dovete sapere sugli errori 503 Service Unavailable. Mentre di solito non c’è molto da fare quando si vede un errore 503, si spera che alcuni di questi passi possano aiutare la prossima volta che se ne incontra uno.

Stai al sicuro, e buon refresh finchè non funziona 🙂

.