Jobtiens cette erreur, comment puis-je faire? Jessaie de modifier plusieurs fois mais je ne fonctionne toujours pas.
Erreur 503 La récupération du backend a échoué
La récupération du backend a échouéGuru Meditation :
XID: 35
Serveur de cache Varnish
Mon CentOS 7: /etc/varnish/varnish.params
# Description de la configuration de lenvironnement Varnish. Ceci est dérivé de # lancien style sysconfig / defaults settings
# Définissez ceci sur 1 pour que systemd reload essaie de changer de VCL sans redémarrer. RELOAD_VCL = 1
# Fichier de configuration principal. Vous voulez probablement le changer. VARNISH_VCL_CONF = / etc / varnish / default.vcl
# Adresse et port par défaut auxquels se connecter. Une adresse vide signifie toutes les interfaces IPv4 # et IPv6, sinon spécifiez un nom dhôte, un quadruple pointillé IPv4 ou une adresse IPv6 entre crochets. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80
# Adresse et port découte de linterface dadministration VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082
# Fichier secret partagé pour linterface dadministration VARNISH_SECRET_FILE = interface dadministration VARNISH_SECRET_FILE = varnish / secret
# Spécification du stockage backend, consultez Types de stockage dans la page de manuel varnishd (5) # pour plus de détails. VARNISH_STORAGE = « malloc, 1024M »
# Utilisateur et groupe pour les processus de travail varnishd VARNISH_USER = vernis VARNISH_GROUP = vernis
# Autres options, voir la page de manuel varnishd (1) DAEMON_OPTS = « -a: 80 -T localhost: 6082 -f /etc/varnish/default.vcl -S / etc / vernis / secret -s malloc, 1024m -p thread_pool_min = 5 -p thread_pool_max = 500 -p thread_pool_timeout = 300 -p http_resp_hdr_len = 65536 -p http_resp_size = 98304 -p workspace_backend = 98304 «
update:
1) Oui, le fichier vcl généré par Magento.
2)
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4338 / varnishd
tcp 0 0 127.0.0.1:6082 0.0.0.0:* ECOUTER 4337 / varnishd
tcp6 0 0 ::: 80 ::: * ECOUTER 4338 / vernis
tcp6 0 0 ::: 8080 ::: * LISTEN 3905 / httpd
3) i dans vcl édité ajouté http: // parce que quand je suis seulement / pub / health_check.php sera 503, mais ajouté http: // le thème ressemble à quelque chose qui ne va pas sans css.
.probe = {. url = « http://example.com/pub/health_check.php « ;
4) jai utilisé cette commande
curl -I -v –location-trusted « http://example.com «
montrez ceci, mais je ne sais pas fonctionner ou ne pas fonctionner, car le Le répertoire var / page_cache / nest pas vide. le fichier mage-tags est toujours là.
< X-Magento-Cache-Control: max-age = 0, doit-revalider, pas de cache, pas de magasin
X-Magento-Cache-Control: max-age = 0, doit-revalider, pas de cache, pas de magasin < Âge: 0 Âge: 0 <
X-Magento-Cache-Debug: MISS
X -Magento-Cache-Debug: MISS
Commentaires
- vous ne pouvez pas vous connecter au backend. laissez ‘ éditer le fichier /etc/varnish/default.vcl. Recherchez la ligne .url = » /pub/health_check.php », puis modifiez-la .url = » / « ; ou .url = » /health_check.php »;
Réponse
Après comparaison avec le /etc/varnish/default.vcl, jai trouvé après avoir supprimé le .probe dans le backend par défaut peut résoudre ce problème. Je me demande toujours pourquoi la sonde a causé cela
backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; .probe = { .url = "/pub/health_check.php"; .timeout = 2s; .interval = 5s; .window = 10; .threshold = 5; } }
à
backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; }
Mise à jour:
Modifiez simplement la ligne suivante:
.url = "/pub/health_check.php";
à
.url = "/health_check.php";
a résolu le problème, reportez-vous à cet article https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/
Réponse
Il y a quelques possibilités à votre erreur. Je suis ce tutoriel (Solution 2) et corrige avec succès lerreur: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/
1. La longueur des balises de cache utilisées par Magento dépasse la valeur par défaut de Varnish
Nous allons changer la valeur de http_resp_hdr_len
dans le fichier de configuration de Varnish . (Longueur maximale de tout en-tête de réponse de backend HTTP
Le chemin daccès au fichier de configuration de vernis est
-Ubuntu: / etc / default / varnish
-Centos 6: / etc / sysconfig / vernis
-Centos 7: / etc / vernis / vernis.params
change la valeur de http_resp_hdr_len
(située à la ligne 101 après thread_pool_max
) en
-p http_resp_hdr_len=70000 \
Remplacez également http_resp_size
par
-p http_resp_size=100000 \
2. Mauvais emplacement health_check.php dans le fichier de configuration de Varnish
Accédez au fichier de configuration de Varnish (/etc/varnish/default.vcl) et recherchez ces lignes
.probe = { .url = "/pub/health_check.php";
Remplacez-le par
.probe = { .url = "/health_check.php";
Commentaires
- La modification de http_resp_hdr_len et http_resp_size dans la configuration init systemd (/lib/systemd/system/varnish.service) a fonctionné pour moi. Merci!
Réponse
Les erreurs « Error 503 Backend fetch failed » signifient généralement deux choses:
- Varnish nest pas capable de récupérer la réponse de Magento en raison de problèmes de configuration
- Il y a un problème côté Magento. Magento envoie le code de réponse HTTP 5xx.
Problèmes de configuration de Varnish
Il existe de nombreux problèmes de configuration, mais les plus courants sont:
- le fichier default.vcl par défaut est utilisé. Assurez-vous de prendre le fichier vcl généré par Magento
- mauvais backend spécifié dans le fichier vcl. Vérifiez le port et ladresse IP spécifiés dans le fichier vcl. Jai trouvé
netstat -tnulp
un outil utile pour vérifier les services en cours dexécution et leurs ports - Votre instance Magento nest pas dans web_root. Vérifiez chaque chemin relatif dans le fichier vcl et ajoutez les préfixes correspondants (fichier de vérification de létat, fichiers multimédias …).
Vous devez redémarrer le vernis après chaque modification.
Problèmes liés à Magento
Habituellement, ils concernent certaines autorisations de fichiers. Afin de trouver le problème exact, vous devez ignorer le vernis et visiter le serveur Web directement – http://your_domain.com : {web_server_port } /. Ensuite, vous pouvez activer le mode développeur Magento dans la console en utilisant la commande ./bin/magento deploy:mode:set developer
et décommenter la ligne ini_set("display_errors", 1);
dans app/bootstrap.php
. Après toutes ces actions, vous devriez voir le message derreur exact
Commentaires
- Jai mis à jour le message dorigine 1,2,3,4, veuillez vérifier, merci vous
- Vous avez un bloc magento2 dans lURL. Ajoutez simplement magento2 / prefix à tous les chemins relatifs dans le fichier vcl. Par exemple. sonde_url = domaine.com/magento2/pub/health_check. Assurez-vous également de basculer le cache de page en vernis dans le panneau dadministration de magento
- mais en ajoutant http: // le thème ressemble à quelque chose qui ne va pas sans css. Et non, mon magento dans public_html, domain.com/magento2 < -est par exemple. Quel est votre moyen? changer le cache de page en vernis dans le panneau dadministration de magento? est la gestion du cache? merci
- désolé quest-ce que changer le cache de page en vernis dans le panneau dadministration de magento? est la gestion du cache? merci
- Le paramètre se trouve dans les magasins – > Configuration – > Avancé – > Système – > Cache de page complète. Il nest pas nécessaire de spécifier http avant les chemins. Au lieu de cela, ce devrait être le chemin relatif vers Magento.