Oberes Navigationsfenster wird nicht in Storefront geladen
In diesem Artikel finden Sie Konfigurationslösungen für ESI-Probleme (Varnish Edge Side Includes), bei denen der Inhalt bestimmter Seiten, normalerweise das obere Navigationsfenster, nicht auf der Storefront angezeigt wird, wenn Varnish zum Caching verwendet wird.
Betroffene Produkte und Versionen
- Adobe Commerce 2.x.x
- Alle Lackversionen
Problem
Voraussetzungen:
Installieren und konfigurieren Sie Varnish für Ihren Adobe Commerce-Store.
Schritte zur Reproduktion:
- Geh zum Laden.
- Durchsuchen Sie die Store-Seiten.
Erwartete Ergebnisse:
Alle Inhalte und Seitenblöcke wurden erfolgreich geladen.
Tatsächliche Ergebnisse:
Beachten Sie, dass einige Inhaltsblöcke, z. B. das obere Navigationsfenster mit Kategorien, nicht geladen werden. Stattdessen wird Leerraum angezeigt.
Ursache
Mögliche Gründe für das Problem sind:
- ESI Include-Tags werden mit dem HTTPS-Zugriffsprotokoll generiert, während Varnish nur mit HTTP funktioniert.
- Lack verarbeitet ESI nicht innerhalb von JSON.
- Antwort-Header sind zu groß für „Lackieren“; sie können nicht verarbeitet werden.
Lösung
Um die Probleme zu beheben, müssen Sie eine zusätzliche Lackkonfiguration durchführen und Varnish neu starten.
-
Wenn Sie ein Benutzer mit
root
Berechtigungen sind, öffnen Sie Ihre Vanish-Konfigurationsdatei in einem Texteditor. Unter Ändern der Konfiguration des Lacksystems in unserer Entwicklerdokumentation finden Sie Informationen darüber, wo sich diese Datei für verschiedene Betriebssysteme befinden könnte. -
Fügen Sie in der
DAEMON_OPTS variable
-p feature=+esi_ignore_https
,-p feature=+esi_ignore_other_elements
,-p feature=+esi_disable_xml_check
hinzu. Dies würde wie folgt aussehen:code language-bash DAEMON_OPTS="-a :6081 \ -p feature=+esi_ignore_other_elements \ -p feature=+esi_disable_xml_check \ -p feature=+esi_ignore_https \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"
-
Speichern Sie Ihre Änderungen und beenden Sie den Texteditor.
-
Erhöhen Sie in der VCL-Konfigurationsdatei die Antwort-Header, indem Sie die Werte dieser Parameter erhöhen:
http_resp_hdr_len
,http_resp_size
,workspace_backend
. Stellen Sie sicher, dass die letzten beiden ähnliche Werte haben. -
Wenn Sie dies ändern, müssen Sie
service varnish restart
ausführen, damit die Änderungen wirksam werden.
Verwandtes Lesen
- Konfigurieren Sie Lack und Ihren Webserver in unserer Entwicklerdokumentation.
- Lackdokumentation