Le panneau de navigation supérieur ne se charge pas sur le storefront
Cet article fournit des solutions de configuration aux problèmes d’inclusion côté Edge (ESI) de Varnish, en raison desquels le contenu de certaines pages, généralement le panneau de navigation supérieur, n’est pas affiché sur le storefront si le vernis est utilisé pour la mise en cache.
Description description
Environnement
- Adobe Commerce 2.X.X
- Toutes les versions de vernis
Problème
Conditions préalables :
Installez et configurez Varnish pour votre boutique Adobe Commerce.
Procédure à suivre :
- Allez à la vitrine.
- Parcourez les pages du magasin.
Résultats attendus :
Tout le contenu et tous les blocs de page se chargent correctement.
Résultats réels :
Notez que certains blocs de contenu ne se chargent pas, comme le panneau de navigation supérieur avec les catégories. Un espace vide s’affiche à la place.
Cause
Les raisons possibles du problème sont les suivantes :
- Les balises d’inclusion ESI sont générées avec le protocole d’accès HTTPS, tandis que Varnish ne fonctionne qu’avec HTTP.
- Le vernis ne traite pas les ESI dans JSON.
- Les en-têtes de réponse sont trop volumineux pour le vernis ; il ne peut pas les traiter.
Résolution resolution
Pour résoudre les problèmes, vous devez effectuer une configuration de vernis supplémentaire et redémarrer le vernis.
-
En tant qu’utilisateur disposant de droits d’
root, ouvrez votre fichier de configuration Vanish dans un éditeur de texte. Pour plus d’informations sur l’emplacement de ce fichier pour différents systèmes d’exploitation consultez la section Modifier la configuration du système Varnish de la documentation destinée aux développeurs. -
Dans le
DAEMON_OPTS variable, ajoutez-p feature=+esi_ignore_https,-p feature=+esi_ignore_other_elements,-p feature=+esi_disable_xml_check. Voici à quoi cela ressemblerait :code language-none 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" -
Enregistrez vos modifications et quittez l’éditeur de texte.
-
Dans le fichier de configuration VCL, augmentez les en-têtes de réponse en augmentant les valeurs de ces paramètres :
http_resp_hdr_len,http_resp_size,workspace_backend. Assurez-vous que les deux dernières d’entre elles ont des valeurs similaires. -
Lorsque vous modifiez ce paramètre, vous devez exécuter
service varnish restartpour que les modifications soient prises en compte.
Lecture connexe
- Configurez Varnish et votre serveur web dans notre documentation destinée aux développeurs
- Documentation sur les vernis