El panel de navegación superior no se carga en la tienda

Este artículo proporciona soluciones de configuración a los problemas de Varnish Edge Side Includes (ESI), donde el contenido de ciertas páginas, generalmente el panel de navegación superior, no se muestra en la tienda si Varnish se usa para el almacenamiento en caché.

Productos y versiones afectados

  • Adobe Commerce 2.X.X
  • Todas las versiones de barniz

Problema

Requisitos previos:

Instale y configure Varnish para su tienda de Adobe Commerce.

Pasos a seguir:

  1. Ve a la tienda.
  2. Examine las páginas de la tienda.

Resultados esperados:

Todo el contenido y todos los bloques de página se cargan correctamente.

Resultados reales:

Observe que algunos bloques de contenido, como el panel de navegación superior con categorías, no se cargan. Se muestra un espacio en blanco.

Causa

Los posibles motivos del problema son los siguientes:

  • Las etiquetas ESI include se generan con el protocolo de acceso HTTPS, mientras que Varnish solo funciona con HTTP.
  • El barniz no procesa ESI dentro de JSON.
  • Los encabezados de respuesta son demasiado grandes para Varnish; no puede procesarlos.

Solución

Para resolver los problemas, debe realizar una configuración adicional de Barnish y reiniciar Varnish.

  1. Como usuario con privilegios de root, abra el archivo de configuración de Desvanecer en un editor de texto. Consulte Modificar la configuración del sistema Varnish en nuestra documentación para desarrolladores para obtener información sobre dónde se puede ubicar este archivo para diferentes sistemas operativos.

  2. En DAEMON_OPTS variable, agregue -p feature=+esi_ignore_https, -p feature=+esi_ignore_other_elements, -p feature=+esi_disable_xml_check. Este aspecto sería el siguiente:

    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. Guarde los cambios y salga del editor de texto.

  4. En el archivo de configuración de VCL, aumente los encabezados de respuesta aumentando los valores de estos parámetros: http_resp_hdr_len, http_resp_size, workspace_backend. Asegúrese de que los dos últimos tengan valores similares.

  5. Cuando cambie esto, debe ejecutar service varnish restart para que los cambios surtan efecto.

Lectura relacionada

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