Il pannello di navigazione superiore non si carica nella vetrina

In questo articolo vengono fornite soluzioni di configurazione per i problemi ESI (Varnish Edge Side Includes), in cui il contenuto di determinate pagine, in genere il pannello di navigazione superiore, non viene visualizzato nella vetrina se si utilizza Varnish per la memorizzazione in cache.

Prodotti e versioni interessati

  • Adobe Commerce 2.X.X
  • Tutte le versioni di vernice

Problema

Prerequisiti:

Installa e configura la vernice per il tuo store Adobe Commerce.

Passaggi da riprodurre:

  1. Vai alla vetrina.
  2. Sfoglia le pagine del Negozio.

Risultati previsti:

Tutto il contenuto e tutti i blocchi di pagina vengono caricati correttamente.

Risultati effettivi:

Tieni presente che alcuni blocchi di contenuto, come il pannello di navigazione superiore con categorie, non vengono caricati. Viene invece visualizzato uno spazio vuoto.

Causa

I possibili motivi del problema sono i seguenti:

  • I tag ESI includono vengono generati con il protocollo di accesso HTTPS, mentre Varish funziona solo con HTTP.
  • La vernice non elabora ESI in JSON.
  • Le intestazioni di risposta sono troppo grandi per Vernice e non possono essere elaborate.

Soluzione

Per risolvere i problemi, è necessario eseguire una configurazione aggiuntiva di Vernice e riavviare Vernice.

  1. Come utente con root , apri il file di configurazione Vanish in un editor di testo. Consulta la Modificare la configurazione del sistema di vernice nella documentazione per gli sviluppatori di per informazioni su dove potrebbe trovarsi il file per diversi sistemi operativi.

  2. In DAEMON_OPTS variable, aggiungi -p feature=+esi_ignore_https, -p feature=+esi_ignore_other_elements, -p feature=+esi_disable_xml_check. Questo dovrebbe essere:

    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. Salva le modifiche e esci dall’editor di testo.

  4. Nel file di configurazione VCL, aumenta le intestazioni di risposta aumentando i valori di questi parametri: http_resp_hdr_len, http_resp_size, workspace_backend. Assicurati che gli ultimi due abbiano valori simili.

  5. Quando modifichi questo, devi eseguire service varnish restart affinché le modifiche diventino effettive.

Lettura correlata

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