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:
- Ve a la tienda.
- 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.
-
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. -
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"
-
Guarde los cambios y salga del editor de texto.
-
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. -
Cuando cambie esto, debe ejecutar
service varnish restart
para que los cambios surtan efecto.
Lectura relacionada
- Configure Varnish y su servidor web en nuestra documentación para desarrolladores.
- Documentación de barniz