Comment résoudre les problèmes liés à la compression de fichiers dans CloudFront ?

Date de la dernière mise à jour : 02/06/2022

J'utilise la distribution Amazon CloudFront pour diffuser automatiquement des objets compressés, mais le contenu n'est pas compressé dans le lecteur. Comment puis-je résoudre ce problème ?

Résolution

Vérifiez votre configuration CloudFront

  • Assurez-vous que le paramètre Compress objects automatically (Compresser les objets automatiquement) est défini sur Yes (Oui).
  • Vérifiez que Brotli et Gzip sont tous deux activés dans les paramètres de cache policy (stratégie de cache).
  • Vérifiez que les TTL values in the cache policy (valeurs TTL dans la stratégie de cache) sont définies sur une valeur supérieure à zéro. CloudFront ne compresse pas les objets lorsque la mise en cache est désactivée.

Vérifiez la configuration pour les lecteurs

Tout d'abord, obtenez des informations sur les en-têtes de requête détaillés envoyés par le navigateur en capturant l'archive HTTP (HAR). Ensuite, vérifiez que :
  • La requête utilise une version HTTP supérieure à HTTP 1.0. Dans la version inférieure de HTTP, CloudFront supprime l'en-tête Accept-Encoding et ne compresse pas l'objet dans la réponse.
  • L'en-tête Accept-Encoding est inclus dans la demande du lecteur et contient la valeur gzip ou br.

Vérifiez la réponse que le serveur d'origine renvoie à CloudFront

Si vous avez accès à l'origine, vérifiez la réponse que le serveur d'origine renvoie à CloudFront. Ensuite, vérifiez que :

  • L'origine ne renvoie pas d'en-tête Content-Encoding. Cet en-tête indique que la réponse est déjà compressée.
  • La réponse Content-Length est présente dans la réponse de l'origine et se situe dans la plage prise en charge de 1 000 à 10 000 000 d'octets.
  • Le type de fichier est pris en charge pour la compression.
  • Le HTTP status code (code d'état HTTP) de réponse est 200, 403 ou 404.

Si vous observez un accès au cache pour l'objet, invalidez-le dans le cache. CloudFront ne compresse pas les objets déjà mis en cache dans des emplacements périphériques lorsque vous activez le paramètre de compression de l'image. CloudFront renvoie « X-Cache: Hit from cloudfront » lorsque les demandes sont fournies à partir du cache de périphérie.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?