Comment mettre en cache du contenu dans CloudFront en fonction des en-têtes HTTP ?

Date de la dernière mise à jour : 14/04/2022

Je veux mettre en cache du contenu dans Amazon CloudFront en fonction des en-têtes HTTP. Comment procéder ?

Brève description

Pour configurer votre distribution afin de mettre en cache le contenu en fonction des en-têtes HTTP, effectuez l'une des opérations suivantes :

  • Créer une politique de mise en cache et attachez-la à un comportement dans la distribution
  • Modifier les paramètres d'un comportement de mise en cache hérité existant dans la distribution

Une bonne pratique consiste à créer une nouvelle politique de mise en cache pour mettre le contenu en cache. Vous pouvez personnaliser davantage votre configuration avec une nouvelle politique de mise en cache au lieu de modifier une distribution héritée.

Important : vous ne pouvez pas configurer CloudFront pour mettre en cache en fonction de la valeur de l'en-tête de la requête pour les types d'en-tête Connection, Host (pour les origines Amazon S3), Proxy-Authorization, TE ou Upgrade. Pour plus d'informations, consultez Sélection des en-têtes sur lesquels baser la mise en cache.

Solution

Création d'une politique de mise en cache

  1. Créez une politique de mise en cache à l'aide de la console CloudFront.
  2. Sous TTL settings (Paramètres TTL), saisissez les valeurs de Minimum TTL (TTL minimum), Maximum TTL (TTL maximum) et Default TTL (TTL par défaut) pour gérer la durée de mise en cache des objets par CloudFront. Par défaut, les fichiers mis en cache expirent automatiquement après 24 heures.
  3. Sous Cache key settings (Paramètres de clé de cache), pour Headers (En-têtes), choisissez Include the following headers (Inclure les en-têtes suivants).
  4. Dans la liste déroulante Add header (Ajouter un en-tête), sélectionnez vos en-têtes, ou sélectionnez Add custom (Ajouter personnalisé) pour ajouter un en-tête personnalisé.
  5. Complétez tous les autres paramètres de la politique de mise en cache en fonction des exigences du comportement auquel vous attachez la politique. Ensuite, choisissez Create (Créer).
  6. Après avoir créé la politique de mise en cache, suivez les étapes permettant d'attacher les politiques au comportement approprié de votre distribution CloudFront.

Modification des paramètres d'un comportement existant

  1. Ouvrez la console CloudFront, puis choisissez votre distribution.
  2. Choisissez l'onglet Behaviors (Comportements). Ensuite, choisissez le chemin que vous voulez pour mettre en cache le contenu en fonction des en-têtes HTTP sélectionnés.
  3. Choisissez Edit (Modifier).
  4. Sous Cache key and origin requests (Requêtes de clé de cache et d'origine), confirmez que Legacy cache settings (Paramètres de cache hérités) est sélectionné.
    Si l'option Legacy cache settings (Paramètres de cache hérités) n'est pas sélectionnée, suivez les étapes de la section précédente pour créer une politique de mise en cache.
    -ou-
    Si Legacy cache settings (Paramètres de cache hérités) est sélectionné, procédez comme suit :
    Pour Headers (En-têtes), sélectionnez Include the following headers (Inclure les en-têtes suivants).
    Dans la liste déroulante Add header (Ajouter un en-tête), sélectionnez les en-têtes que vous voulez mettre en cache.
  5. Pour gérer la durée de la mise en cache pour le cache CloudFront, sous Object Caching (Mise en cache d'objets), choisissez Customize (Personnaliser). Spécifiez ensuite des valeurs dans les champs Minimum TTL (TTL minimum), Default TTL (TTL par défaut) et Maximum TTL (TTL maximum). Pour plus d'informations, consultez Mise en cache d'objets.
  6. Choisissez Save Changes (Enregistrer les modifications).

Remarque : pour modifier la durée de mise en cache d'un fichier individuel, configurez votre origine pour ajouter une directive Cache-Control max-age, une directive Cache-Control s-maxage ou un en-tête Expires. Pour plus d'informations, consultez Utilisation des en-têtes pour contrôler la durée de la mise en cache des objets individuels.

Pour les origines Amazon Simple Storage Service (Amazon S3), ajoutez des métadonnées pour les valeurs d'en-tête afin de gérer l'expiration du cache des objets individuels. Pour plus d'informations, consultez Ajout d'en-têtes à vos objets à l'aide de la console Amazon S3.