Lack – Fehler 503 Backend-Abruf fehlgeschlagen

Ich erhalte diesen Fehler. Wie kann ich das tun? Ich versuche viele Male zu bearbeiten, aber es funktioniert immer noch nicht.

Fehler 503 Backend-Abruf fehlgeschlagen
Backend-Abruf fehlgeschlagen

Guru-Meditation :
XID: 35

Lack-Cache-Server

Mein CentOS 7: /etc/varnish/varnish.params

# Beschreibung der Lackumgebungskonfiguration. Dies wurde aus # den alten Sysconfig / Defaults-Einstellungen abgeleitet.

# Setzen Sie dies auf 1, damit systemd reload versucht, VCL ohne Neustart zu wechseln. RELOAD_VCL = 1

# Hauptkonfigurationsdatei. Sie möchten es wahrscheinlich ändern. VARNISH_VCL_CONF = / etc / varnish / default.vcl

# Standardadresse und Port zum Binden. Leere Adresse bedeutet alle IPv4 # – und IPv6-Schnittstellen. Andernfalls geben Sie einen Hostnamen, ein gepunktetes IPv4 # -Quad oder eine IPv6-Adresse in Klammern an. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80

# Abhöradresse und Port der Administratorschnittstelle VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082

lack / secret

# Backend-Speicherspezifikation, siehe Speichertypen in der Manpage varnishd (5) # für Details. VARNISH_STORAGE = „malloc, 1024M“

# Benutzer und Gruppe für die Lackierprozesse VARNISH_USER = Lack VARNISH_GROUP = Lack

# Weitere Optionen finden Sie in der Manpage varnishd (1) DAEMON_OPTS = „-a: 80 -T localhost: 6082 -f /etc/varnish/default.vcl -S / etc / varnish / secret -s malloc, 1024 m -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) Ja, die vcl-Datei wurde generiert von Magento.

2)

tcp 0 0 0.0.0.0:80 0.0.0.0:* HÖREN 4338 / lackn

tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 4337 / varnishd

tcp6 0 0 ::: 80 ::: * LISTEN 4338 / varnishd

tcp6 0 0 ::: 8080 ::: * LISTEN 3905 / httpd

3) i in vcl bearbeitet hinzugefügt http: // beacuse, wenn ich nur / pub / health_check.php wird 503 sein, aber http: // hinzugefügt. Das Thema sieht aus wie etwas Falsches, kein CSS.

.probe = {. url = „ http://example.com/pub/health_check.php „;

4) Ich habe diesen Befehl verwendet

curl -I -v –location-trusted „ http://example.com

zeigen dies, aber ich weiß nicht, ob es funktioniert oder nicht, weil Das Verzeichnis var / page_cache / ist nicht leer. Die Magier-Tags-Datei ist noch hier.

< X-Magento-Cache-Steuerung: maximales Alter = 0, muss erneut validiert werden, kein Cache, kein Speicher

X-Magento-Cache-Kontrolle: max-age = 0, muss erneut validiert werden, kein Cache, kein Speicher < Alter: 0 Alter: 0 <

X-Magento-Cache-Debug: MISS

X. -Magento-Cache-Debug: MISS

Kommentare

  • Sie können keine Verbindung zum Backend herstellen. Lassen Sie ‚ die Datei /etc/varnish/default.vcl bearbeiten. Suchen Sie die Zeile .url = “ /pub/health_check.php“ und ändern Sie sie .url = “ / „; oder .url = “ /health_check.php“;

Antwort

Nach dem Vergleich mit /etc/varnish/default.vcl fand ich nach dem Entfernen der .probe im Backend-Standard kann dies beheben. Ich frage mich immer noch, warum die Sonde diese

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; } } 

zu

backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; } 

Aktualisiert:

Ändern Sie einfach die folgende Zeile:

.url = "/pub/health_check.php"; 

bis

.url = "/health_check.php"; 

hat das Problem gelöst. Weitere Informationen finden Sie in diesem Artikel. https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/

Antwort

Es gibt einige Möglichkeiten für Ihren Fehler. Ich folge diesem Tutorial (Lösung 2) und behebe den Fehler erfolgreich: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/

1. Die Länge der von Magento verwendeten Cache-Tags überschreitet den Standardwert von Varnish.

Wir ändern den Wert http_resp_hdr_len in der Varnish-Konfigurationsdatei . (Maximale Länge eines HTTP-Backend-Antwortheaders

Der Pfad zur Lackkonfigurationsdatei lautet

-Ubuntu: / etc / default / varnish

-Centos 6: / etc / sysconfig / varnish

-Centos 7: / etc / varnish / varnish.Parameter

ändern den Wert http_resp_hdr_len (in Zeile 101 nach thread_pool_max) in

-p http_resp_hdr_len=70000 \ 

Ändern Sie außerdem http_resp_size in

-p http_resp_size=100000 \ 

2. Falscher Speicherort health_check.php in der Lackkonfigurationsdatei

Gehen Sie zur Lackkonfigurationsdatei (/etc/varnish/default.vcl) und suchen Sie diese Zeilen

.probe = { .url = "/pub/health_check.php"; 

Ändern Sie es in

.probe = { .url = "/health_check.php"; 

Kommentare

  • Das Ändern von http_resp_hdr_len und http_resp_size in der Konfiguration von init systemd (/lib/systemd/system/varnish.service) hat bei mir funktioniert. Danke!

Antwort

„Fehler 503 Fehler beim Abrufen des Backends fehlgeschlagen“ Fehler bedeuten normalerweise zwei Dinge:

  • Varnish kann die Antwort von Magento aufgrund von Konfigurationsproblemen nicht abrufen.
  • Auf Magento-Seite liegt ein Problem vor. Magento sendet 5xx HTTP-Antwortcode.

Lackkonfigurationsprobleme

Es gibt eine Reihe von Konfigurationsproblemen, aber die häufigsten sind:

  • Standardmäßig wird die Datei default.vcl verwendet. Stellen Sie sicher, dass Sie die von Magento
  • generierte vcl-Datei verwenden, die in der vcl-Datei angegeben ist. Überprüfen Sie den in der vcl-Datei angegebenen Port und die IP-Adresse. Ich fand netstat -tnulp ein nützliches Tool, um die ausgeführten Dienste und ihre Ports zu überprüfen.
  • Ihre Magento-Instanz befindet sich nicht in web_root. Überprüfen Sie jeden relativen Pfad in der vcl-Datei und fügen Sie entsprechende Präfixe hinzu (Integritätsprüfungsdatei, Mediendateien …).

Sie müssen den Lack nach jeder Änderung neu starten.

Magento-bezogene Probleme

In der Regel handelt es sich um einige Dateiberechtigungen. Um das genaue Problem zu finden, müssen Sie den Lack überspringen und den Webserver direkt besuchen – http://your_domain.com : {web_server_port } /. Anschließend können Sie den Magento-Entwicklermodus in der Konsole mit dem Befehl ./bin/magento deploy:mode:set developer aktivieren und die Zeile ini_set("display_errors", 1); in app/bootstrap.php. Nach all diesen Aktionen sollte die genaue Fehlermeldung angezeigt werden.

Kommentare

  • Ich habe den ursprünglichen Beitrag 1,2,3,4 aktualisiert. Bitte überprüfen Sie, danke Sie
  • Sie haben einen magento2-Block in der URL. Fügen Sie einfach magento2 / prefix zu allen relativen Pfaden in der vcl-Datei hinzu. Z.B. probe_url = domain.com/magento2/pub/health_check. Stellen Sie außerdem sicher, dass Sie den Seiten-Cache im Magento-Admin-Bereich
  • auf Lack umstellen, aber http: // hinzugefügt haben. Und nein, mein Magento in public_html, domain.com/magento2 < -ist zum Beispiel. Was meinst du? Seiten-Cache im Magento-Admin-Panel auf Lack umstellen? ist Cache-Verwaltung? danke
  • Entschuldigung, was ist der Switch-Page-Cache, der im Magento-Admin-Panel lackiert werden soll? ist Cache-Verwaltung? danke
  • Die Einstellung befindet sich in Stores – > Konfiguration – > Erweitert – > System – > Ganzseiten-Cache. Es ist nicht erforderlich, http vor Pfaden anzugeben. Stattdessen sollte es der relative Pfad zu Magento sein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.