# Configuración de compresión Gzip en Nginx

- Link: https://binariocero.com/linux/configuracion-de-compresion-gzip-en-nginx
- Published: 2026-01-06T13:08:41+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

La compresión HTTP es una de las optimizaciones más efectivas para reducir el tamaño
de las respuestas enviadas al cliente, disminuyendo el consumo de ancho de banda
y mejorando los tiempos de carga percibidos. En Nginx, la compresión más utilizada
es **Gzip**, mientras que **Brotli** suele delegarse a CDNs como Cloudflare.

Este artículo describe una configuración recomendada de Gzip en Nginx orientada 
a entornos de producción.

## Principios básicos de la compresión en Nginx

 * La compresión se aplica **antes de enviar la respuesta al cliente**.
 * Solo es eficiente para contenido **texto o estructurado** (HTML, CSS, JS, JSON,
   XML).
 * No debe aplicarse a imágenes, vídeos o binarios ya comprimidos.
 * El equilibrio CPU/ratio es crítico en servidores con recursos limitados.

## Ubicación de la configuración

La configuración de compresión debe declararse en el bloque:

    ```wp-block-code
    http {
    # configuración gzip
    }
    ```

Esto garantiza que la compresión se aplique de forma coherente a todos los `server`
y `location`.

## Configuración recomendada de Gzip

    ```wp-block-code
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_min_length 1024;

    gzip_types
    text/plain
    text/css
    text/xml
    text/javascript
    application/javascript
    application/json
    application/xml
    application/xml+rss
    image/svg+xml;
    ```

## Explicación de directivas clave

 * **gzip on**: activa la compresión.
 * **gzip_proxied any**: permite comprimir respuestas servidas a través de proxy.
 * **gzip_vary on**: añade el encabezado `Vary: Accept-Encoding` (imprescindible
   para caché).
 * **gzip_comp_level 6**: equilibrio recomendado entre consumo de CPU y ratio.
 * **gzip_min_length 1024**: evita comprimir respuestas pequeñas.

## Verificación

    ```wp-block-code
    curl-H"Accept-Encoding: gzip"-I https://dominio
    ```

Resultado esperado:

    ```wp-block-code
    Content-Encoding: gzip
    ```

## Consideraciones finales

 * No habilitar compresión en múltiples capas.
 * Centralizar la compresión en el punto más cercano al cliente.
 * Delegar Brotli a CDNs cuando sea posible.
