unzstd: Descomprime respostas codificadas em Zstd para clientes que não a suportam
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-unzstd
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-unzstd
Habilite o módulo adicionando o seguinte no topo do /etc/nginx/nginx.conf:
load_module modules/ngx_http_unzstd_filter_module.so;
Este documento descreve o nginx-module-unzstd v0.2.0 lançado em 02 de setembro de 2026.
server {
listen 127.0.0.1:8080;
server_name localhost;
location / {
# habilita a descompressão zstd para clientes que não suportam compressão zstd
unzstd on;
proxy_pass http://foo.com;
}
}
Diretivas
unzstd
Sintaxe: unzstd on | off;
Padrão: unzstd off;
Contexto: http, server, location, when
Habilita ou desabilita a descompressão de respostas comprimidas em zstd para clientes que não possuem suporte a zstd.
Quando compilado com ngx_condition_module, esta diretiva também pode ser configurada
dentro de um bloco when.
unzstd_force
Sintaxe: unzstd_force on | off;
Padrão: unzstd_force off;
Contexto: http, server, location, when
Quando habilitado, descomprime respostas zstd sem verificar se o cliente
aceita zstd. Respostas sem Content-Encoding: zstd não são afetadas.
Quando compilado com ngx_condition_module, esta diretiva também pode ser configurada
dentro de um bloco when.
unzstd_buffers
Sintaxe: unzstd_buffers número tamanho;
Padrão: unzstd_buffers 32 4k | 16 8k;
Contexto: http, server, location
Define o número e o tamanho dos buffers usados para descomprimir uma resposta. Por padrão, o tamanho do buffer é igual a uma página de memória. Isso é 4K ou 8K, dependendo da plataforma.
Testes
A suíte rápida compila um módulo dinâmico real e o executa com o harness oficial
nginx-tests do nginx.org:
make tests
O portão de lançamento também inclui execução estática ASan/UBSan, cppcheck
exaustivo, CodeQL, carregamento de módulo renomeado, nginx -t e nginx -T, sondas
de clientes hostis, verificações de recarga e substituição de workers, contabilidade
de descritores de arquivo estabilizada e evidências do Torture Lab schema-v1:
make lint
make tests-asan
make runtime
GitHub
Você pode encontrar dicas de configuração adicionais e documentação para este módulo no repositório GitHub do nginx-module-unzstd.