Compresión web: Cómo configurar Brotli + Gzip en Apache con Rocky Linux 9/10

Publicada:

Si has instalado Rocky Linux 9 o 10 junto con el servidor Apache, seguro que te has planteado el uso de gzip para comprimir datos de texto. Y no está mal. Pero ahora mismo en 2026, también puedes implementar una mejor compresión con Brotli. Muchos servidores en la actualidad implementan ambos: Vamos a configurar Brotli como preferido y Gzip como respaldo.

  • Te voy a contar cómo activar la compresión Brotli en un servidor Rocky Linux (sirve también en AlmaLinux y demás) y usando Apache como servidor Apache.

¿Qué hacen Brotli y Gzip?

Ambos algoritmos se encargan de comprimir archivos de texto: HTML, CSS, JavaScript, JSON, XML, SVG, markdown, texto plano… Pero nunca deberían comprimir imágenes (ya están comprimidas), videos, audio, PDF, ZIP/RAR etc.

  • Gzip (1992): Ampliamente compatible, basado en algoritmo DEFLATE
  • Brotli (2015): Desarrollado por Google, más nuevo y eficiente, optimizado para web.

Diferencias entre ambos

CaracterísticaBrotliGzip
Tasa de compresiónNormalmente, 15-25% mejor que GzipBuena, pero inferior a Brotli
Velocidad de compresiónMás lento (especialmente nivel máximo)Más rápido (especialmente niveles bajos)
Velocidad de descompresiónSimilar o ligeramente más rápidaRápida y consistente
Uso de CPUMayor durante la compresiónMenor durante compresión
CompatibilidadBuena en navegadores modernos (excepto IE)Universal (todos los navegadores)
Umbral de tamañoEficaz incluso con archivos pequeñosMejor con archivos más grandes
Encabezados predeterminadosCompresión optimizada para webMás genérico

¿Cómo configuramos la compresión de Brotli y Gzip en Apache?

Comprobamos la compresión con Brotli en nuestra web.

Ya te lo he comentado antes. Debes elegir siempre como primera opción Brotli, pero dejar Gzip activo por compatibilidad. Que Apache se encargue de elegir la mejor opción en función de tus visitantes y el navegador que usen.

  • Brotli: Chrome 49+, Firefox 44+, Edge 15+, Safari 11+ (no compatible con IE)
  • Gzip: Prácticamente todos los navegadores desde hace décadas.

En Rocky Linux ya tienes instalado el módulo de Brotli, pero no está activa la configuración por defecto. Vete a la carpeta /etc/httpd/conf.d/ y crea un archivo llamado, por ejemplo, compresion.conf con este contenido (se aplicará a todos tus servidores virtuales en Apache):

# =====================================
# Brotli + Gzip
# =====================================

# --- Header para cache diferenciado ---
<IfModule mod_headers.c>
    Header append Vary Accept-Encoding
</IfModule>

# --- Prioridad de compresión ---
# Intenta Brotli primero, si falla usa Gzip
SetOutputFilter BROTLI_COMPRESS;DEFLATE

# --- Brotli (si está disponible) ---
<IfModule mod_brotli.c>

    # MIME types que se comprimen con Brotli
    AddOutputFilterByType BROTLI_COMPRESS \
        text/html text/plain text/xml text/css \
        text/javascript application/javascript application/x-javascript \
        application/json application/xml application/rss+xml \
        image/svg+xml

    # Calidad de compresión (1–11, default 5)
    BrotliCompressionQuality 5

    # Excluir archivos ya comprimidos o binarios
    SetEnvIfNoCase Request_URI \
    \.(?:gif|jpe?g|png|webp|zip|gz|bz2|rar|7z|pdf|mp3|mp4|avi|mov)$ \
    no-brotli
</IfModule>

# --- Gzip fallback (para clientes que no soportan Brotli) ---
<IfModule mod_deflate.c>
    # MIME types que se comprimen con Gzip
    AddOutputFilterByType DEFLATE \
        text/html text/plain text/xml text/css \
        text/javascript application/javascript application/x-javascript \
        application/json application/xml application/rss+xml \
        image/svg+xml

    # Excluir archivos ya comprimidos o binarios
    SetEnvIfNoCase Request_URI \
    \.(?:gif|jpe?g|png|webp|zip|gz|bz2|rar|7z|pdf|mp3|mp4|avi|mov)$ \
    no-gzip
</IfModule>
  • Con esta configuración, Apache va a priorizar el uso de Brotli sobre Gzip: SetOutputFilter BROTLI_COMPRESS;DEFLATE
  • Con BrotliCompressionQuality 5, le estás diciendo cuál es el nivel de compresión que quieres aplicar. Los valores recomendados suelen estar entre 4 y 5. Vete probando en tu configuración.

Después de implementar esta configuración, debes reiniciar Apache (puedes comprobar antes que todo está correcto en la sintaxis con el comando sudo httpd -t):

sudo systemctl restart httpd

Y luego puedes comprobar si la compresión Brotli está activada correctamente en la siguiente página: https://www.brotli.pro/.

También puedes verificarlo al cargar tu web en tu navegador (Chrome, Firefox, Brave) y usando las herramientas de desarrollador (tres líneas de la derecha > Más herramientas), ir a la pestaña Network, recargar la página y elegir tu dominio principal o alguna de tus URL. En el panel de la derecha, en Headers > Response Headers, te aparece el tipo de compresión que estás aplicando (busca content-encoding: br):

Comprobamos el tipo de compresión de la web en Chrome en herramientas para desarrolladores. Podemos ver la compresión Brotli en content-encoding: br

Brotli y Cloudflare

Sí tienes tu servidor web detrás del DNS Cloudflare. Este CDN activa por defecto Brotli. Cloudflare soporta Gzip, Brotli y Zstandard, pero, en función del plan en el que te encuentres, va a servir un tipo de contenido u otro:

  • Plan gratuito: el contenido se comprime de forma predeterminada con Zstandard.
  • Planes Pro y Business: el contenido se comprime de forma predeterminada con Brotli.
  • Plan Enterprise: el contenido se comprime de forma predeterminada con Gzip.

Pero tienes que tener en cuenta que lo primero que va a hacer Cloudflare es preguntar a tu servidor qué compresión estás usando. Si usas Brotli directamente, Cloudflare mantendrá la misma compresión en su respuesta enviada al visitante de tu sitio web si no hay cambios que aplicar por su parte.

¿Cuándo hace cambios Cloudflare en esa respuesta? Si tienes activos los siguientes puntos de su configuración:

  • Automatic HTTPS Rewrites
  • Cloudflare Fonts
  • Email Address Obfuscation
  • Polish
  • Rocket Loader
  • JavaScript detections
  • RUM
  • Replace insecure JS libraries

Así que si quieres que todo tenga la misma compresión que aplicas en tu servidor, debes desactivar estas opciones.

Conclusión

No hay que abandonar Gzip, ni mucho menos, pero no le va a hacer daño a tu servidor y a tu web que actives Brotli para comprimir tus datos de texto. La mejora en rendimiento en muchas webs se nota inmediatamente.

WordPress te lo va a agradecer si además has implementado una buena política de caché de imágenes y otro tipo de archivos, y además has configurado Cloudflare correctamente para servir tu contenido desde sus servidores en todo el mundo.

WordPress genera contenido dinámico que se va a beneficiar al usar Brotli:

  • Páginas HTML dinámicas (cada página es diferente)
  • CSS/JS de plugins y temas (archivos grandes y repetitivos)
  • Respuestas de REST API (JSON que se comprime muy bien)
  • Feeds RSS/XML (texto estructurado perfecto para compresión)

Ya verás cómo el LCP (Largest Contentful Paint) de tu blog mejora mucho: se puede reducir hasta en un -30 %. Prueba el rendimiento de tu web con Google PageSpeed Insights.

Te cuento más opciones de configuración de tu servidor en: Cómo instalar Virtualmin en tu servidor Linux y cómo poner en marcha un servidor Linux VPS en Linode (Akamai).

Referencias:

Foto del autor de algoentremanos.com Ivan Benito

Ivan Benito

Apasionado de la lectura, los viajes y la privacidad online. Experto en tecnología, SEO y WordPress desde 2007.

Si tienes preguntas, quieres que haga una review de una app, programa o producto, simplemente mándame un e-mail [contacto]. En Algoentremanos.com comparto mis opiniones personales sobre productos y servicios. Algunas reseñas pueden generar ingresos a través de enlaces afiliados, pero siempre pruebo todo a fondo y solo recomiendo lo que de verdad me gusta [saber más].

Suscríbete y recibe los mejores tutoriales de servidores, VPN y Linux

Accede a guías prácticas, tutoriales paso a paso y recomendaciones esenciales para administrar tus sistemas y aprender tecnologías de forma segura y efectiva.

Quiero acceso a los tutoriales

📩 Sin spam. Solo contenido útil.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.