Se utilizzi Varnish Cache sul tuo sito Web o stai visitando un sito Web che memorizza contenuti nella cache con Varnish Cache, è probabile che a un certo punto ti imbatterai nell’errore del server Varnish Cache: Errore 503 Servizio non disponibile / Guru Meditation con un numero XID.
L’errore 503 di Varnish Guru Meditation è un codice di stato HTTP standard che indica che il server ha riscontrato un problema interno che gli ha impedito di soddisfare la richiesta. In genere si tratta di un malfunzionamento del software, come un errore di memoria o un’eccezione inattesa.
L’errore si verifica quando la cache di Varnish non riesce a memorizzare un risultato. Ciò può accadere se la memoria disponibile nel sistema non è sufficiente per memorizzare nella cache questo particolare oggetto. Un errore 503 può verificarsi anche se l’oggetto è stato rimosso o se si sta utilizzando una sintassi non valida nella richiesta.
In alcuni casi, questo codice di errore può anche indicare un’interruzione del servizio o un’altra interruzione pianificata o non pianificata come ad esempio una manutenzione straordinaria.
Quando viene visualizzato questo errore in relazione a Varnish Cache, significa che il sito Web utilizza Varnish Cache per memorizzare nella cache e servire i contenuti e che Varnish Cache non è in grado di raggiungere il server back-end. Varnish Cache emette l’errore Guru Meditation quando una connessione è scaduta o il server Varnish Cache ha effettuato troppe richieste al server back-end senza ottenere una risposta. Invece di effettuare un numero infinito di richieste a un back-end malsano, Varnish Cache emette l’errore 503 per consentire al visitatore (e al proprietario del sito Web) è probabile che il gestore del sito Web stia già lavorando a una correzione e la soluzione migliore è riprovare più tardi . Se sei il gestore o il proprietario del sito web e non sei sicuro del motivo per cui stai ricevendo questa risposta, leggi di seguito per scoprirlo.
Cosa fare se visualizzi l’errore Guru Meditation?
Se sei un normale visitatore e hai deciso di googlare l’errore per comprenderne il significato, ora avrai compreso che l’errore è del server e non del tuo browser. Da parte tua insomma non c’è nulla da fare dal punto di vista tecnico, se non provare a telefonare al proprietario del sito e renderlo cosciente e partecipe dell’errore che visualizzi.
Molto più probabilmente potrebbe esserci un’operazione di manutenzione in corso o una risoluzione di una problematica lato server che si risolverà da sola entro pochi minuti o qualche ora.
Se non hai urgenza impellente insomma, prova a ripassare più tardi.
Correzione di un errore di Varnish Cache Server
Se sei un sistemista invece ed il tuo sito web produce un errore Guru Meditation 503 tramite Varnish Cache, come potresti risolverlo? Per prima cosa ti consigliamo di esaminare i log per tutti gli errori 503 utilizzando varnishlog . Puoi fare in modo che varnishlog registri gli errori 503 utilizzando il comando seguente da Varnish Cache :
$ varnishlog -q 'RespStatus == 503' -g request
Regolarmente riceverai 503 errori perché il tuo back-end è inattivo o malsano. In questo caso, varnishlog potrebbe restituire qualcosa come “FetchError c no backend connection”. Dovresti controllare la porta a cui Varnish Cache sta tentando di connettersi, il server di origine e il tuo servizio HTTP come Apache o Nginx e vedere se tutto funziona correttamente – in caso contrario, dovrai risolvere il tuo back-end .
Se il tuo back-end sembra essere attivo ma ricevi ancora un errore 503 di Varnish Cache, allora c’è qualcosa di sbagliato nella connessione del tuo server web a Varnish Cache o alla configurazione di Varnish Cache.
Se il tuo back-end risponde ma Varnish Cache sta servendo 503, spesso scopriamo che ciò è dovuto a timeout . Puoi modificare o aggiungere un .connect_timeout = Xs e un .first_byte_timeout = Xs nella sezione VCL predefinita del backend a una durata di timeout che funzioni per il tuo server web. Varnish Cache Software dispone di ulteriori informazioni sui vari timeout che possono verificarsi in Varnish Cache . Un altro suggerimento è disabilitare KeepAlive in modo che le connessioni inattive vengano interrotte. Questo sarebbe simile al seguente :
"origin": {
"address": "origin.example.com",
"disable_keepalive": true
}
Per ulteriori informazioni su Varnish Cache, contattaci se hai bisogno di aiuto per la risoluzione dei problemi della configurazione di Varnish Cache.