Het bovenste navigatievenster wordt niet geladen in de winkel

Dit artikel biedt configuratieoplossingen voor de ESI-problemen (Varnish Edge Includes), waarbij de inhoud van bepaalde pagina's, meestal het bovenste navigatievenster, niet in de winkel wordt weergegeven als Varnish wordt gebruikt voor het in cache plaatsen.

Betrokken producten en versies

  • Adobe Commerce 2.X.X
  • Alle versies in Varnish

Probleem

Vereisten:

Installeer en configureer Varnish voor uw Adobe Commerce Store.

Stappen om te reproduceren:

  1. Ga naar de winkel.
  2. Blader door de winkelpagina's.

Verwachte resultaten:

Alle inhoud en alle paginablokken zijn geladen.

Werkelijke resultaten:

Houd er rekening mee dat bepaalde inhoudsblokken, zoals het bovenste navigatievenster met categorie├źn, niet worden geladen. Er wordt lege ruimte weergegeven.

Oorzaak

De mogelijke redenen voor deze kwestie zijn:

  • In ESI worden tags voor include-bestanden gegenereerd met het HTTPS-toegangsprotocol, terwijl Varnish alleen werkt met HTTP.
  • Varnish verwerkt geen ESI in JSON.
  • De antwoordheaders zijn te groot voor Varnish, maar kunnen ze niet verwerken.

Oplossing

Om de kwesties op te lossen, moet u een extra configuratie van Varnish uitvoeren en Varnish opnieuw beginnen.

  1. Als gebruiker met root toegangsrechten, opent u het Vanish-configuratiebestand in een teksteditor. Zie de De configuratie van het vernis-systeem wijzigen in onze ontwikkelaarsdocumentatie voor informatie over waar dit dossier voor verschillende werkende systemen zou kunnen worden gevestigd.

  2. In de DAEMON_OPTS variable, toevoegen -p feature=+esi_ignore_https, -p feature=+esi_ignore_other_elements, -p feature=+esi_disable_xml_check. Dit ziet er als volgt uit:

    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"
    
  3. Sla de wijzigingen op en sluit de teksteditor af.

  4. Verhoog in het VCL-configuratiebestand de responsheaders door de waarden van deze parameters te verhogen: http_resp_hdr_len, http_resp_size, workspace_backend. Zorg ervoor dat de laatste twee van deze waarden vergelijkbare waarden hebben.

  5. Wanneer u dit wijzigt, moet u service varnish restart de wijzigingen van kracht worden.

Gerelateerde lezing

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a