Saltar a contenido

compression-normalize: Módulo de normalización de Accept-Encoding de NGINX

Instalación

Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:

  • RedHat Enterprise Linux 7, 8, 9 y 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-compression-normalize
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-compression-normalize

Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:

load_module modules/ngx_http_compression_normalize_module.so;

Este documento describe nginx-module-compression-normalize v1.0.0 lanzado el 06 de enero de 2026.


Descripción

ngx_http_compression_normalize_module es un módulo de NGINX diseñado para analizar, normalizar y gestionar los encabezados Accept-Encoding de las solicitudes del cliente. Asegura un manejo consistente de los algoritmos de compresión al estandarizar los valores de Accept-Encoding, facilitando una mejor gestión de la compresión y mejorando el rendimiento de la caché vary.

Sinopsis

http {
    compression_normalize_accept_encoding gzip,br,zstd gzip,br zstd br gzip;

    server {
        listen 80;
        server_name example.com;

        location / {
            # Tus configuraciones
        }
    }
}

Directivas

compression_normalize_accept_encoding

Sintaxis: compression_normalize_accept_encoding combinations1 [combinations2 ..] | off;

Por defecto: compression_normalize_accept_encoding off;

Contexto: http, server, location

Habilita la normalización del encabezado Accept-Encoding especificando combinaciones preferidas de algoritmos de compresión. Esta directiva acepta una lista de métodos de compresión, permitiendo definir el orden y la prioridad de los tipos de codificación que el servidor debe preferir al responder a las solicitudes del cliente.

Por ejemplo, con la siguiente configuración

compression_normalize_accept_encoding gzip,br,zstd gzip,br zstd br gzip;

Si el encabezado de solicitud Accept-Encoding contiene gzip, br y zstd al mismo tiempo, el valor del encabezado Accept-Encoding estandarizado es gzip,br,zstd. Si no se cumplen las condiciones anteriores, pero el encabezado de solicitud contiene gzip y br, el valor del encabezado Accept-Encoding estandarizado es gzip,br. Y así sucesivamente, hasta que se verifiquen todas las combinaciones dadas por la directiva compression_normalize_accept_encoding. Si no se encuentra ninguna combinación en este momento, el encabezado Accept-Encoding se elimina directamente.

Un valor de off deshabilitará esta función.

Variables

\$compression_original_accept_encoding

mantiene el valor original del encabezado Accept-Encoding de la solicitud.

GitHub

Puedes encontrar consejos adicionales de configuración y documentación para este módulo en el repositorio de GitHub para nginx-module-compression-normalize.