Aller au contenu
Aback Tools Logo

Guide de configuration de la compression CloudFront

Générez une configuration de comportement CloudFront pour la compression Brotli et GZIP avec les en-têtes Cache-Control corrects - aucune inscription requise. Le guide de configuration de la compression cloudfront produit des politiques de cache complètes, des politiques d'en-têtes de réponse et des paramètres de distribution au format Console Steps, Terraform, CloudFormation, AWS CDK ou AWS CLI. Prend en charge S3, ALB, API Gateway, EC2 et les origines personnalisées. Avertissements en temps réel concernant les clés de cache Accept-Encoding manquantes, les en-têtes Vary manquants et les problèmes Brotli-over-HTTP. Toute génération s'exécute dans votre navigateur.

CloudFront Compression Config Guide

Generate CloudFront behavior configuration for Brotli and GZIP compression with correct Cache-Control headers. Configure your origin type, compression settings, TTL values, and output format - generates console steps, Terraform, CloudFormation, CDK, or AWS CLI commands. All generation runs in your browser, no signup required.

Origin Type

Output Format

Console Steps - CloudFront Compression Config

# AWS CloudFront Console - Step-by-Step Configuration

## Step 1: Create or Edit CloudFront Distribution
1. Open AWS Console → CloudFront → Distributions
2. Click "Create distribution" or select an existing one → Edit

## Step 2: Configure Origin
- Origin domain: YOUR-BUCKET.s3.YOUR-REGION.amazonaws.com
- Origin access: Origin access control settings (recommended)
- Create new OAC → Sign requests → Save

## Step 3: Configure Default Cache Behavior
- Viewer protocol policy: Redirect HTTP to HTTPS
- Allowed HTTP methods: GET, HEAD
- Compress objects automatically: Yes ← REQUIRED for compression

## Step 4: Create Cache Policy
1. CloudFront → Policies → Cache → Create cache policy
- Name: CompressionCachePolicy
- Default TTL: 86400 seconds (1d)
- Maximum TTL: 31536000 seconds (52w)
- Minimum TTL: 0 seconds
- Cache key settings:
  ✓ Enable Accept-Encoding for Gzip: Yes
  ✓ Enable Accept-Encoding for Brotli: Yes
  Headers: None
  Cookies: None
  Query strings: None (or as needed)

## Step 5: Create Response Headers Policy
1. CloudFront → Policies → Response headers → Create response headers policy
- Name: CompressionResponseHeaders
- Custom headers:
  Header: Vary
  Value: Accept-Encoding
  Override: No
- Security headers: Enable recommended security headers

## Step 6: Attach Policies to Behavior
- Cache policy: CompressionCachePolicy (created above)
- Response headers policy: CompressionResponseHeaders (created above)
- Origin request policy: CORS-S3Origin (for S3) or None

## Step 7: Deploy and Verify
- Click "Save changes" → Wait for distribution to deploy (Status: Deployed)
- Test: curl -H "Accept-Encoding: gzip" -I https://YOUR-CLOUDFRONT-DOMAIN/app.js
- Expected: Content-Encoding: gzip, X-Cache: Hit from cloudfront (2nd request)

Verification Commands

Verify GZIP

curl -H "Accept-Encoding: gzip" -I https://YOUR-CF-DOMAIN/app.js
# Expected: Content-Encoding: gzip

Verify Brotli

curl -H "Accept-Encoding: br" -I https://YOUR-CF-DOMAIN/app.js
# Expected: Content-Encoding: br

Check cache hit

curl -H "Accept-Encoding: gzip" -I https://YOUR-CF-DOMAIN/app.js
# 2nd request: X-Cache: Hit from cloudfront

Pourquoi utiliser notre guide de configuration de compression CloudFront ?

  • Génération instantanée de configuration de compression CloudFront : générez instantanément une configuration de compression CloudFront complète - le guide de configuration de compression Cloudfront produit les étapes de la console, Terraform, CloudFormation, CDK et les commandes AWS CLI avec des politiques de cache, des politiques d'en-têtes de réponse et des paramètres Brotli/GZIP corrects.
  • Guide de configuration de la compression sécurisée CloudFront en ligne : toute la génération de configuration s'exécute entièrement dans votre navigateur. Le guide de configuration de la compression Cloudfront n'envoie jamais vos paramètres à un serveur - sans danger pour générer des configurations pour les distributions privées, les API internes et les configurations CloudFront propriétaires.
  • 5 formats IaC + avertissements de mauvaise configuration en temps réel : générez une configuration de compression CloudFront dans les étapes de la console, Terraform, CloudFormation, AWS CDK ou AWS CLI - le tout à partir des mêmes options. Le guide de configuration de la compression cloudfront affiche des avertissements en temps réel concernant les clés de cache Accept-Encoding manquantes, les en-têtes Vary manquants et les problèmes Brotli-over-HTTP.
  • 100 % gratuit pour toujours : le guide de configuration de la compression cloudfront est entièrement gratuit, sans inscription, sans niveau premium, sans limites et sans publicité. Générez des configurations de compression CloudFront pour des distributions illimitées, sans frais, pour toujours.

Cas d'utilisation courants du guide de configuration de la compression CloudFront

  • Configuration de la compression du site statique S3 : configurez CloudFront pour qu'il serve les ressources statiques compressées GZIP et Brotli à partir d'un compartiment S3 - le guide de configuration de la compression cloudfront génère la stratégie de cache correcte avec Accept-Encoding dans la clé de cache, garantissant que CloudFront met en cache des variantes distinctes pour chaque encodage.
  • Compression de réponse API Gateway : activez la compression CloudFront pour les origines API Gateway - le guide de configuration de la compression cloudfront génère la configuration de comportement correcte avec Brotli et GZIP activés, corrigez les paramètres TTL pour les réponses API et Vary : en-têtes de réponse Accept-Encoding.
  • Activation de la compression Brotli : activez la compression Brotli sur les distributions CloudFront qui utilisent actuellement uniquement GZIP - le guide de configuration de la compression cloudfront affiche les paramètres de stratégie de cache exacts nécessaires pour ajouter la prise en charge de Brotli sans rompre le comportement de mise en cache GZIP existant.
  • Migration d'infrastructure en tant que code : générez du code Terraform, CloudFormation ou CDK pour la configuration de la compression CloudFront - le guide de configuration de la compression cloudfront produit du code IaC prêt pour la production qui peut être ajouté directement à votre référentiel d'infrastructure existant.
  • Optimisation des politiques de cache : configurez les politiques de cache CloudFront avec des valeurs TTL correctes pour différents types d'actifs. Le guide de configuration de la compression Cloudfront vous aide à définir correctement la durée de vie par défaut, la durée de vie maximale et la durée de vie minimale pour les actifs statiques, les pages HTML et les réponses d'API.
  • Audit de distribution CloudFront : auditez une distribution CloudFront existante pour détecter les erreurs de configuration de compression - le guide de configuration de compression cloudfront affiche les paramètres corrects et génère des commandes curl de vérification pour confirmer que GZIP et Brotli fonctionnent correctement.

Qu'est-ce que la configuration de la compression CloudFront ?

AWS CloudFront peut compresser les réponses HTTP à l'aide de GZIP et Brotli avant de les transmettre aux clients, réduisant ainsi la taille du transfert de 60 à 85 % pour les ressources textuelles (HTML, CSS, JavaScript, JSON). Une configuration correcte de la compression CloudFront nécessite que trois composants fonctionnent ensemble : (1) Compresser les objets automatiquement activés sur le comportement du cache, (2) une stratégie de cache qui inclut Accept-Encoding dans la clé de cache afin que CloudFront stocke des variantes compressées distinctes, et (3) une stratégie d'en-têtes de réponse qui ajoute Vary: Accept-Encoding afin que les caches en aval gèrent correctement les variantes d'encodage. Notre guide de configuration de compression cloudfront génère les trois composants dans le format IaC de votre choix.

Comment fonctionne notre guide de configuration de compression CloudFront

  1. 1 Sélectionnez votre type d'origine et vos paramètres de compression : choisissez votre origine (S3, ALB, API Gateway, EC2 ou personnalisée), activez GZIP et/ou Brotli, configurez les valeurs TTL et activez l'en-tête Vary et l'application HTTPS. Le guide de configuration de la compression cloudfront met à jour instantanément la configuration générée et affiche des avertissements en cas de mauvaise configuration.
  2. 2 Choisissez votre format de sortie : sélectionnez Étapes de la console pour une configuration manuelle, Terraform pour IaC, CloudFormation pour IaC natif AWS, CDK pour le code d'infrastructure TypeScript ou AWS CLI pour le déploiement en ligne de commande. Tous les formats génèrent une configuration complète et prête pour la production. Vos paramètres ne quittent jamais votre navigateur.
  3. 3 Copiez et déployez : Copiez la configuration générée en un clic et appliquez-la à votre distribution CloudFront. Utilisez les commandes curl de vérification intégrées pour confirmer que GZIP et Brotli fonctionnent correctement et vérifiez l'en-tête X-Cache pour vérifier le comportement de l'accès au cache.

Paramètres de compression clés de CloudFront

  • Compresser les objets automatiquement : le commutateur principal pour la compression CloudFront doit être défini sur true sur le comportement du cache. CloudFront compresse uniquement les objets ≥ 1 000 octets avec les en-têtes Content-Type pris en charge. Les objets avec Content-Encoding déjà défini sont transmis sans recompression.
  • Politique de cache - Accept-Encoding dans la clé de cache : le paramètre le plus critique - EnableAcceptEncodingGzip : true et EnableAcceptEncodingBrotli : true indiquent à CloudFront de mettre en cache des variantes distinctes pour chaque encodage. Sans cela, CloudFront ne met en cache qu'une seule variante et peut fournir un mauvais codage aux clients.
  • Politique d'en-têtes de réponse - Vary : Accept-Encoding : ajoute Vary : Accept-Encoding à toutes les réponses, indiquant aux navigateurs et aux caches intermédiaires de stocker des variantes distinctes par encodage. Requis pour un comportement correct lorsque CloudFront se trouve derrière un autre CDN ou proxy.
  • Brotli nécessite HTTPS : les navigateurs envoient uniquement Accept-Encoding : br via des connexions HTTPS. Les connexions HTTP ne recevront que des réponses GZIP ou non compressées. Activez toujours la politique de protocole de redirection vers la visionneuse https lorsque vous utilisez Brotli.

Compression CloudFront et compression Origin

CloudFront prend en charge deux modes de compression : la compression automatique (CloudFront compresse à la volée) et les ressources pré-compressées (l'origine sert les fichiers avec Content-Encoding déjà défini). Pour les réponses API dynamiques, la compression automatique est la seule option. Pour les ressources statiques (JS, CSS, HTML), pré-compression au moment de la construction et téléchargement sur S3 avec Content-Encoding : gzip ou Content-Encoding : br est plus efficace : il élimine la surcharge du processeur de compression de CloudFront et permet d'utiliser des niveaux de compression plus élevés (niveau GZIP 9, niveau Brotli 11). Le guide de configuration de la compression cloudfront génère une configuration correcte pour les deux modes.

Foire aux questions

Le guide de configuration de la compression cloudfront génère une configuration complète du comportement CloudFront pour la compression Brotli et GZIP, y compris les politiques de cache, les politiques d'en-têtes de réponse et les en-têtes Cache-Control corrects. Notre guide gratuit de configuration de la compression cloudfront en ligne produit les étapes de la console, les sorties Terraform, CloudFormation, CDK et AWS CLI. Toutes les générations s'exécutent dans votre navigateur sans aucune inscription requise.

Oui. CloudFront prend en charge la compression Brotli lorsque « Compresser automatiquement les objets » est activé et que la stratégie de cache inclut EnableAcceptEncodingBrotli : true. CloudFront sert Brotli aux clients qui envoient Accept-Encoding: br (tous les navigateurs modernes via HTTPS) et revient automatiquement à GZIP pour les clients plus anciens.

Oui. Toute génération de configuration s'exécute entièrement dans votre navigateur à l'aide de JavaScript. Aucune donnée de configuration n'est envoyée à un serveur, stockée à distance ou transmise sur le réseau.

Oui, 100 % gratuit, pour toujours. Pas d'inscription, pas de compte, pas de niveau premium, pas de limites et pas de publicité.

Sans Accept-Encoding dans la clé de cache, CloudFront ne met en cache qu'une seule variante de chaque objet. Si une variante compressée est mise en cache en premier, CloudFront la servira aux clients qui ne prennent pas en charge la compression, ce qui entraînera un téléchargement interrompu. EnableAcceptEncodingGzip et EnableAcceptEncodingBrotli dans la politique de cache corrigent ce problème.

CloudFront compresse uniquement les objets d'au moins 1 000 octets (1 Ko). Les objets de taille inférieure à 1 Ko sont servis non compressés car la surcharge d'en-tête GZIP/Brotli les rendrait plus volumineux. Les objets avec Content-Encoding déjà défini par l'origine sont transmis sans recompression.

Pour les actifs statiques (JS, CSS, HTML) servis à partir de S3, la pré-compression au moment de la construction est plus efficace : elle élimine la surcharge du processeur de compression CloudFront et permet d'utiliser des niveaux de compression plus élevés. Pour les réponses API dynamiques, la compression automatique CloudFront est la seule option.

Les navigateurs envoient uniquement Accept-Encoding: br via des connexions HTTPS. Les connexions HTTP ne recevront que des réponses GZIP ou non compressées. Activez toujours la politique de protocole de redirection vers la visionneuse https lorsque vous utilisez Brotli.

Utilisez curl : curl -H "Accept-Encoding: gzip" -I https://YOUR-CF-DOMAIN/app.js. Recherchez Content-Encoding: gzip et Vary: Accept-Encoding dans la réponse. Vérifiez X-Cache : appuyez depuis Cloudfront sur la deuxième demande pour confirmer que la mise en cache fonctionne.