Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
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:
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
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
curl-H"Accept-Encoding: gzip"-I https://dominioResultado esperado:
Content-Encoding: gzipConsideraciones 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.


