Zstandard (zstd)#

El módulo añade soporte para compresión Zstandard de respuestas, tanto dinámica (al vuelo) como estática (archivos precomprimidos). Comparado con gzip, zstd ofrece mayor velocidad de compresión y descompresión con ratios de compresión comparables o mejores.

El módulo consta de dos componentes:

  • http_zstd_filter — para comprimir respuestas dinámicamente;

  • http_zstd_static — para servir archivos precomprimidos.

Instalación#

Para instalar el módulo, utiliza uno de los siguientes paquetes:

  • Angie: angie-module-zstd

  • Angie PRO: angie-pro-module-zstd

Carga del Módulo#

Habilita los módulos en el contexto main{}:

load_module modules/ngx_http_zstd_filter_module.so;
load_module modules/ngx_http_zstd_static_module.so;

Configuración de Ejemplo#

server {
    listen 80 default_server;

    zstd_types text/plain text/css;
    zstd_min_length 256;         # Tamaño mínimo de respuesta para comprimir
    zstd_comp_level 3;           # Nivel de compresión (1–22)

    # Compresión dinámica para archivos estáticos
    location / {
        zstd on;
        root /usr/share/angie/html;
    }

    # Compresión dinámica para respuestas de backend
    location /bk/ {
        zstd on;
        proxy_pass http://127.0.0.1:8081/;
    }

    # Servir archivos precomprimidos .zst
    location /static/ {
        zstd_static on;
        root /usr/share/angie;
    }
}

server {
    listen 8081;
    location / {
        root /usr/share/angie/html;
        index index.html;
    }
}

Cómo Funciona#

Puedes combinar compresión dinámica (zstd on) y estática (zstd_static on). En este caso, el servidor primero buscará un archivo precomprimido .zst. Si no existe, comprimirá la respuesta dinámicamente.

La compresión solo se realiza cuando la cabecera Accept-Encoding incluye zstd, por ejemplo:

Accept-Encoding: gzip, zstd

Si se aplica compresión o se encuentra un archivo precomprimido, se añade la siguiente cabecera de respuesta:

Content-Encoding: zstd

Más Información#

La documentación completa y el código fuente están disponibles en: tokers/zstd-nginx-module