Le panneau de navigation supérieur ne se charge pas sur le storefront
Cet article fournit des solutions de configuration aux problèmes ESI (Varnish Edge Side Includes), où le contenu de certaines pages, généralement le panneau de navigation supérieur, n’est pas affiché sur le storefront si Varnish est utilisé pour la mise en cache.
Produits et versions concernés
- Adobe Commerce 2.X.X
- Toutes les versions en vernis
Problème
Conditions préalables :
Installez et configurez le vernis pour votre boutique Adobe Commerce.
Étapes à reproduire :
- Allez à la vitrine.
- Parcourez les pages du magasin.
Résultats attendus :
L’ensemble du contenu et tous les blocs de page se chargent correctement.
Résultats réels :
Notez que certains blocs de contenu, comme le panneau de navigation supérieur avec des catégories, ne se chargent pas. L’espace vierge 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 le vernis ne fonctionne qu’avec le protocole HTTP.
- Le vernis ne traite pas l’ESI dans JSON.
- Les en-têtes de réponse sont trop gros pour le vernis ; il ne peut pas les traiter.
Solution
Pour résoudre les problèmes, vous devez effectuer une configuration de vernis supplémentaire et redémarrer Varnish.
-
En tant qu’utilisateur disposant de droits
root
, ouvrez votre fichier de configuration de l’espagnol dans un éditeur de texte. Pour plus d’informations sur l’emplacement de ce fichier pour différents systèmes d’exploitation, reportez-vous à la section Modification de la configuration du système Varnish dans 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
. Cela ressemblerait à ceci :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"
-
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 ont des valeurs similaires. -
Lorsque vous modifiez ce paramètre, vous devez exécuter
service varnish restart
pour que les modifications prennent effet.
Lecture connexe
- Configurez Varnish et votre serveur web dans notre documentation destinée aux développeurs.
- 🔗