Table des matières de l'article :
Si vous utilisez Varnish Cache sur votre site Web ou si vous visitez un site Web qui met en cache le contenu avec Varnish Cache, vous rencontrerez probablement à un moment donné l' erreur de serveur Varnish Cache : Erreur 503 Service indisponible / Guru Meditation avec un numéro XID.
L'erreur Varnish Guru Meditation 503 est un code d'état HTTP standard qui indique que le serveur a rencontré un problème interne qui l'a empêché de répondre à la demande. Il s'agit généralement d'un dysfonctionnement logiciel, tel qu'une erreur de mémoire ou une exception inattendue.
L'erreur se produit lorsque le cache Varnish ne parvient pas à stocker un résultat. Cela peut se produire s'il n'y a pas assez de mémoire disponible dans le système pour mettre en cache cet objet particulier. Une erreur 503 peut également se produire si l'objet a été supprimé ou si vous utilisez une syntaxe non valide dans la requête.
Dans certains cas, ce code d'erreur peut également indiquer une panne de service ou une autre panne planifiée ou imprévue, telle qu'une maintenance imprévue.
Lorsque vous voyez cette erreur liée à Varnish Cache, cela signifie que le site Web utilise Varnish Cache pour mettre en cache et diffuser du contenu et que Varnish Cache est incapable d'atteindre le serveur principal. Varnish Cache émet l'erreur Guru Meditation lorsqu'une connexion a expiré ou que le serveur Varnish Cache a envoyé trop de demandes au serveur principal sans obtenir de réponse. Au lieu de faire un nombre infini de requêtes à un backend malsain, Varnish Cache émet l'erreur 503 pour autoriser le visiteur (et le propriétaire du site) il est probable que le gestionnaire du site travaille déjà sur un correctif et la meilleure solution est de réessayer plus tard . Si vous êtes le gestionnaire ou le propriétaire du site Web et que vous ne savez pas pourquoi vous obtenez cette réponse, lisez ci-dessous pour le savoir.
Que faire si vous obtenez l'erreur Guru Meditation ?
Si vous êtes un visiteur régulier et que vous avez décidé de googler l'erreur pour comprendre ce que cela signifie, vous comprendrez maintenant que l'erreur provient du serveur et non de votre navigateur. De votre côté, bref, il n'y a rien à faire d'un point de vue technique, sinon essayez d'appeler le propriétaire du site et de le sensibiliser et de participer à l'erreur que vous voyez.
Il est beaucoup plus probable qu'il y ait une opération de maintenance en cours ou une résolution de problème côté serveur qui se résoudra d'elle-même en quelques minutes ou heures.
Bref, si vous n'avez pas d'urgence urgente, essayez de revenir plus tard.
Correction d'un bogue du serveur de cache de vernis
Si vous êtes administrateur système et que votre site web génère une erreur 503 (Méditation du gourou) via Varnish Cache, comment la résoudre ? Nous vous recommandons tout d’abord d’examiner les journaux d’erreurs 503 à l’aide de varnishlog . Vous pouvez configurer varnishlog pour qu’il enregistre les erreurs 503 en utilisant la commande suivante depuis Varnish Cache :
$ varnishlog -q 'RespStatus == 503' -g request
Vous recevrez régulièrement des erreurs 503 car votre serveur d'arrière-plan est hors service ou défaillant. Dans ce cas, varnishlog peut renvoyer un message du type « FetchError : aucune connexion au serveur d'arrière-plan ». Vérifiez le port auquel Varnish Cache tente de se connecter, le serveur d'origine et votre service HTTP (Apache ou Nginx, par exemple) pour vous assurer de leur bon fonctionnement. Si le problème persiste, vous devrez dépanner votre serveur d'arrière-plan.
Si votre backend semble être actif mais que vous obtenez toujours une erreur Varnish Cache 503, il y a un problème avec votre serveur Web qui se connecte à Varnish Cache ou à la configuration de Varnish Cache.
Si votre serveur répond mais que Varnish Cache renvoie des erreurs 503, cela est souvent dû à des délais d'attente . Vous pouvez modifier ou ajouter `.connect_timeout = Xs` et `.first_byte_timeout = Xs` dans la section VCL par défaut du serveur pour définir une durée de délai d'attente adaptée à votre serveur web. Le logiciel Varnish Cache fournit davantage d'informations sur les différents délais d'attente possibles . Il est également conseillé de désactiver KeepAlive afin que les connexions inactives soient interrompues. Voici un exemple de configuration :
"origin": {
"address": "origin.example.com",
"disable_keepalive": true
}
Pour plus d'informations sur Varnish Cache, contactez-nous si vous avez besoin d'aide pour résoudre les problèmes liés à la configuration de Varnish Cache.