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.