Saltar al contenido
Aback Tools Logo

Guía de configuración de compresión de CloudFront

Genere la configuración de comportamiento de CloudFront para la compresión Brotli y GZIP con encabezados Cache-Control correctos; no es necesario registrarse. La guía de configuración de compresión de Cloudfront produce políticas de caché completas, políticas de encabezados de respuesta y configuraciones de distribución en formato de pasos de consola, Terraform, CloudFormation, AWS CDK o AWS CLI. Admite S3, ALB, API Gateway, EC2 y orígenes personalizados. Advertencias en tiempo real sobre claves de caché de Accept-Encoding faltantes, encabezados Vary faltantes y problemas de Brotli-over-HTTP. Toda la generación se ejecuta en su navegador.

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

¿Por qué utilizar nuestra guía de configuración de compresión de CloudFront?

  • Generación instantánea de configuración de compresión de CloudFront: genere una configuración de compresión completa de CloudFront al instante: la guía de configuración de compresión de Cloudfront produce pasos de consola, comandos de Terraform, CloudFormation, CDK y AWS CLI con políticas de caché, políticas de encabezados de respuesta y configuraciones de Brotli/GZIP correctas.
  • Guía de configuración de compresión segura de CloudFront en línea: toda la generación de configuración se ejecuta completamente en su navegador. La guía de configuración de compresión de Cloudfront nunca envía su configuración a ningún servidor: es segura para generar configuraciones para distribuciones privadas, API internas y configuraciones propietarias de CloudFront.
  • 5 formatos IaC + Advertencias de configuración incorrecta en tiempo real: genere la configuración de compresión de CloudFront en los pasos de la consola, Terraform, CloudFormation, AWS CDK o AWS CLI, todo desde las mismas opciones. La guía de configuración de compresión de Cloudfront muestra advertencias en tiempo real sobre claves de caché de Accept-Encoding faltantes, encabezados Vary faltantes y problemas de Brotli-over-HTTP.
  • 100% gratis para siempre: la guía de configuración de compresión de Cloudfront es completamente gratuita, sin registro, sin nivel premium, sin límites y sin anuncios. Genere configuraciones de compresión de CloudFront para distribuciones ilimitadas sin costo alguno, para siempre.

Casos de uso comunes para la guía de configuración de compresión de CloudFront

  • Configuración de compresión de sitios estáticos de S3: configure CloudFront para servir activos estáticos comprimidos GZIP y Brotli desde un depósito de S3: la guía de configuración de compresión de Cloudfront genera la política de caché correcta con Accept-Encoding en la clave de caché, lo que garantiza que CloudFront almacene en caché variantes separadas para cada codificación.
  • Compresión de respuesta de API Gateway: habilite la compresión de CloudFront para los orígenes de API Gateway: la guía de configuración de compresión de Cloudfront genera la configuración de comportamiento correcta con Brotli y GZIP habilitados, la configuración TTL correcta para las respuestas de API y Vary: aceptar encabezados de respuesta de codificación.
  • Habilitación de compresión Brotli: habilite la compresión Brotli en distribuciones de CloudFront que actualmente solo usan GZIP: la guía de configuración de compresión de Cloudfront muestra la configuración exacta de la política de caché necesaria para agregar compatibilidad con Brotli sin alterar el comportamiento de almacenamiento en caché de GZIP existente.
  • Migración de infraestructura como código: genere código Terraform, CloudFormation o CDK para la configuración de compresión de CloudFront: la guía de configuración de compresión de Cloudfront produce código IaC listo para producción que se puede agregar directamente a su repositorio de infraestructura existente.
  • Optimización de la política de caché: configure las políticas de caché de CloudFront con valores TTL correctos para diferentes tipos de activos: la guía de configuración de compresión de Cloudfront lo ayuda a configurar correctamente el TTL predeterminado, el TTL máximo y el TTL mínimo para activos estáticos, páginas HTML y respuestas de API.
  • Auditoría de distribución de CloudFront: audite una distribución de CloudFront existente para detectar configuraciones incorrectas de compresión: la guía de configuración de compresión de Cloudfront muestra la configuración correcta y genera comandos curl de verificación para confirmar que GZIP y Brotli están funcionando correctamente.

¿Qué es la configuración de compresión de CloudFront?

AWS CloudFront puede comprimir respuestas HTTP mediante GZIP y Brotli antes de entregarlas a los clientes, lo que reduce el tamaño de la transferencia entre un 60 % y un 85 % para los activos basados ​​en texto (HTML, CSS, JavaScript, JSON). La configuración correcta de compresión de CloudFront requiere que tres componentes trabajen juntos: (1) Comprimir objetos habilitados automáticamente en el comportamiento de la caché, (2) una política de caché que incluya Accept-Encoding en la clave de caché para que CloudFront almacene variantes comprimidas separadas y (3) una política de encabezados de respuesta que agregue Vary: Accept-Encoding para que las cachés posteriores manejen las variantes de codificación correctamente. Nuestra guía de configuración de compresión de Cloudfront genera los tres componentes en el formato IaC elegido.

Cómo funciona nuestra guía de configuración de compresión de CloudFront

  1. 1 Seleccione su tipo de origen y configuración de compresión: elija su origen (S3, ALB, API Gateway, EC2 o personalizado), habilite GZIP y/o Brotli, configure valores TTL y active Variar encabezado y aplicación de HTTPS. La guía de configuración de compresión de Cloudfront actualiza la configuración generada al instante y muestra advertencias en caso de configuraciones incorrectas.
  2. 2 Elija su formato de salida: seleccione Pasos de la consola para la configuración manual, Terraform para IaC, CloudFormation para IaC nativo de AWS, CDK para código de infraestructura TypeScript o AWS CLI para implementación de línea de comandos. Todos los formatos generan una configuración completa y lista para producción. Su configuración nunca sale de su navegador.
  3. 3 Copie e implemente: copie la configuración generada con un clic y aplíquela a su distribución de CloudFront. Utilice los comandos curl de verificación integrados para confirmar que GZIP y Brotli estén funcionando correctamente y verifique el encabezado X-Cache para verificar el comportamiento de los hits de caché.

Configuraciones clave de compresión de CloudFront

  • Comprimir objetos automáticamente: el interruptor maestro para la compresión de CloudFront debe establecerse en verdadero en el comportamiento de la caché. CloudFront solo comprime objetos ≥1000 bytes con encabezados de tipo de contenido admitidos. Los objetos con codificación de contenido ya configurada se pasan sin volver a comprimirse.
  • Política de caché: Accept-Encoding en clave de caché: la configuración más crítica: EnableAcceptEncodingGzip: true y EnableAcceptEncodingBrotli: true le indican a CloudFront que almacene en caché variantes separadas para cada codificación. Sin esto, CloudFront almacena en caché solo una variante y puede ofrecer una codificación incorrecta a los clientes.
  • Política de encabezados de respuesta: Vary: Accept-Encoding: agrega Vary: Accept-Encoding a todas las respuestas, indicando a los navegadores y cachés intermedios que almacenen variantes separadas por codificación. Requerido para un comportamiento correcto cuando CloudFront está detrás de otra CDN o proxy.
  • Brotli requiere HTTPS: los navegadores solo envían Accept-Encoding: br a través de conexiones HTTPS. Las conexiones HTTP solo recibirán respuestas GZIP o sin comprimir. Habilite siempre la política de protocolo de visor de redireccionamiento a https cuando utilice Brotli.

Compresión de CloudFront frente a compresión de origen

CloudFront admite dos modos de compresión: compresión automática (CloudFront comprime sobre la marcha) y activos precomprimidos (el origen sirve archivos con codificación de contenido ya configurada). Para respuestas API dinámicas, la compresión automática es la única opción. Para activos estáticos (JS, CSS, HTML), la precompresión en el momento de la compilación y la carga en S3 con Content-Encoding: gzip o Content-Encoding: br es más eficiente: elimina la sobrecarga de compresión de la CPU de CloudFront y permite usar niveles de compresión más altos (GZIP nivel 9, Brotli nivel 11). La guía de configuración de compresión de Cloudfront genera la configuración correcta para ambos modos.

Preguntas frecuentes

La guía de configuración de compresión de Cloudfront genera una configuración completa del comportamiento de CloudFront para la compresión Brotli y GZIP, incluidas políticas de caché, políticas de encabezados de respuesta y encabezados de control de caché correctos. Nuestra guía gratuita de configuración de compresión de Cloudfront en línea produce pasos de consola, resultados de Terraform, CloudFormation, CDK y AWS CLI. Toda la generación se ejecuta en su navegador sin necesidad de registrarse.

Sí. CloudFront admite la compresión Brotli cuando "Comprimir objetos automáticamente" está habilitado y la política de caché incluye EnableAcceptEncodingBrotli: verdadero. CloudFront ofrece Brotli a clientes que envían Accept-Encoding: br (todos los navegadores modernos a través de HTTPS) y recurre automáticamente a GZIP para clientes más antiguos.

Sí. Toda la generación de configuración se ejecuta completamente en su navegador utilizando JavaScript. No se envían datos de configuración a ningún servidor, no se almacenan de forma remota ni se transmiten a través de la red.

Sí, 100% gratis, para siempre. Sin registro, sin cuenta, sin nivel premium, sin límites y sin anuncios.

Sin Accept-Encoding en la clave de caché, CloudFront almacena en caché solo una variante de cada objeto. Si primero se almacena en caché una variante comprimida, CloudFront la entregará a los clientes que no admiten la compresión, lo que provocará una descarga interrumpida. EnableAcceptEncodingGzip y EnableAcceptEncodingBrotli en la política de caché solucionan este problema.

CloudFront solo comprime objetos que tienen al menos 1000 bytes (1 KB). Los objetos de menos de 1 KB se entregan sin comprimir porque la sobrecarga del encabezado GZIP/Brotli los haría más grandes. Los objetos con codificación de contenido ya establecida por el origen se pasan sin volver a comprimirlos.

Para los recursos estáticos (JS, CSS, HTML) servidos desde S3, la precompresión en el momento de la compilación es más eficiente: elimina la sobrecarga de la CPU de compresión de CloudFront y permite utilizar niveles de compresión más altos. Para respuestas API dinámicas, la compresión automática de CloudFront es la única opción.

Los navegadores solo envían Accept-Encoding: br a través de conexiones HTTPS. Las conexiones HTTP solo recibirán respuestas GZIP o sin comprimir. Habilite siempre la política de protocolo de visor de redireccionamiento a https cuando utilice Brotli.

Utilice curl: curl -H "Aceptar-Codificación: gzip" -I https://SU-DOMINIO-CF/app.js. Busque Content-Encoding: gzip y Vary: Accept-Encoding en la respuesta. Verifique X-Cache: presione desde Cloudfront en la segunda solicitud para confirmar que el almacenamiento en caché está funcionando.