Pular para conteúdo

compression-normalize: Módulo de Normalização de Accept-Encoding do NGINX

Instalação

Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:

  • RedHat Enterprise Linux 7, 8, 9 e 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 e 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

Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:

load_module modules/ngx_http_compression_normalize_module.so;

Este documento descreve o nginx-module-compression-normalize v1.0.0 lançado em 06 de janeiro de 2026.


Descrição

ngx_http_compression_normalize_module é um módulo do NGINX projetado para analisar, normalizar e gerenciar os cabeçalhos Accept-Encoding das solicitações dos clientes. Ele garante um tratamento consistente dos algoritmos de compressão ao padronizar os valores de Accept-Encoding, facilitando uma melhor gestão de compressão e melhor desempenho do cache vary.

Sinopse

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

    server {
        listen 80;
        server_name example.com;

        location / {
            # Suas configurações
        }
    }
}

Diretrizes

compression_normalize_accept_encoding

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

Padrão: compression_normalize_accept_encoding off;

Contexto: http, server, location

Habilita a normalização do cabeçalho Accept-Encoding especificando combinações preferidas de algoritmos de compressão. Esta diretiva aceita uma lista de métodos de compressão, permitindo definir a ordem e a prioridade dos tipos de codificação que o servidor deve preferir ao responder às solicitações dos clientes.

Por exemplo, com a seguinte configuração

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

Se o cabeçalho de solicitação Accept-Encoding contiver gzip, br e zstd ao mesmo tempo, o valor do cabeçalho Accept-Encoding padronizado será gzip,br,zstd. Se as condições acima não forem atendidas, mas o cabeçalho de solicitação contiver gzip e br, o valor do cabeçalho Accept-Encoding padronizado será gzip,br. E assim por diante, até que todas as combinações dadas pela diretiva compression_normalize_accept_encoding sejam verificadas. Se nenhuma combinação for encontrada neste momento, o cabeçalho Accept-Encoding é diretamente excluído.

Um valor de off desativará esse recurso.

Variáveis

\$compression_original_accept_encoding

mantém o valor original do cabeçalho Accept-Encoding da solicitação.

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-compression-normalize.