VCL personnalisé pour contourner le cache Fastly
Vous pouvez créer un fragment de code VCL personnalisé pour contourner le cache Fastly afin de résoudre les problèmes de trafic de requête vers le serveur d’origine. Par exemple, vous pouvez créer un fragment de code pour déterminer si les problèmes de site sont causés par la mise en cache ou pour résoudre les problèmes liés aux en-têtes.
Vous pouvez configurer le fragment de code pour contourner la mise en cache rapide pour les requêtes provenant d’une adresse IP ou d’une URL spécifique.
Conditions préalables :
-
Votre environnement doit être configuré pour utiliser le réseau CDN Fastly. Voir Configuration des services Fastly.
-
Assurez-vous d’exécuter la dernière version du module Fastly CDN pour le Magento 2. Voir Mise à niveau du module Fastly.
-
Vérifiez la configuration de l’environnement pour le service Fastly . Voir Vérification de la mise en cache rapide.
-
Vous devez disposer des informations d’identification d’administrateur pour accéder aux environnements d’évaluation et de production.
Pour contourner le cache Fastly en fonction de l’adresse IP ou de l’URL :
-
Connectez-vous à l’administrateur.
-
Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.
-
Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.
-
Cliquez sur Créer un fragment de code personnalisé.
-
Ajoutez les valeurs de fragment de code VCL :
-
Nom —
bypass_fastly
-
Type —
recv
-
Priorité —
5
-
VCL contenu de fragment de code —
L’exemple suivant contourne Fastly pour une adresse IP spécifique :
code language-conf if (client.ip == "<Your IPv4 IP address>" || client.ip == "<Your IPv6 IP address>") { return(pass); }
L’exemple suivant contourne Fastly pour un modèle d’URL spécifique :
code language-conf if (req.url ~ "/media/feeds/GoogleShoppingHiVisNew.xml") { return (pass);}
Pour une correspondance d’URL exacte, utilisez l’opérateur
==
au lieu de l’opérateur~
. Voir la référence Fastly VCL pour plus d’informations.
-
-
Cliquez sur Créer.
-
Une fois la page rechargée, cliquez sur Télécharger VCL vers Fastly dans la section Configuration Fastly.
-
Une fois le chargement terminé, actualisez le cache en fonction de la notification en haut de la page.
Valide rapidement la version VCL mise à jour pendant le processus de chargement. Si la validation échoue, modifiez votre fragment de code VCL personnalisé pour résoudre les problèmes. Ensuite, chargez à nouveau le VCL.
Après avoir ajouté le fragment de code VCL, vous pouvez utiliser des commandes cURL pour envoyer des requêtes au serveur d’origine à partir de l’adresse IP ou de l’URL spécifiée, comme indiqué dans l’exemple suivant :
curl -svo /dev/null www.example.com/index.html
Ensuite, examinez la réponse pour résoudre les problèmes liés au contenu non mis en cache.
$MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom
dans votre environnement. Les fragments de code présents dans ce répertoire sont chargés automatiquement lorsque vous cliquez sur charger un fichier VCL vers Fastly dans Commerce Admin. Consultez la section Déploiement automatisé de fragments de code VCL personnalisés dans la documentation du module Fastly CDN pour Magento 2 .Modifier le fragment de code VCL personnalisé
-
Connectez-vous à l’administrateur.
-
Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.
-
Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.
-
Dans la colonne Action, cliquez sur l’icône de paramètres en regard du fragment de code à modifier.
-
Une fois la page rechargée, cliquez sur Télécharger VCL vers Fastly dans la section Configuration Fastly.
-
Une fois le chargement terminé, actualisez le cache en fonction de la notification en haut de la page.
Supprimer le fragment de code VCL personnalisé
-
Connectez-vous à l’administrateur.
-
Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.
-
Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.
-
Dans la colonne Action, cliquez sur l’icône de la corbeille en regard du fragment de code à supprimer.
-
Dans la fenêtre modale suivante, cliquez sur DELETE et activez une nouvelle version.