unzstd : Décompresse les réponses encodées en Zstd pour les clients qui ne le prennent pas en charge
Installation
Vous pouvez installer ce module sur toute distribution basée sur RHEL, y compris, sans s'y limiter :
- RedHat Enterprise Linux 7, 8, 9 et 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 et 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
Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :
load_module modules/ngx_http_unzstd_filter_module.so;
Ce document décrit nginx-module-unzstd v0.2.0 publié le 2 septembre 2026.
server {
listen 127.0.0.1:8080;
server_name localhost;
location / {
# active la décompression zstd pour les clients qui ne prennent pas en charge la compression zstd
unzstd on;
proxy_pass http://foo.com;
}
}
Directives
unzstd
Syntaxe : unzstd on | off ;
Défaut : unzstd off ;
Contexte : http, server, location, when
Active ou désactive la décompression des réponses compressées en zstd pour les clients qui ne prennent pas en charge zstd.
Lorsqu'il est compilé avec ngx_condition_module, cette directive peut également être configurée
à l'intérieur d'un bloc when.
unzstd_force
Syntaxe : unzstd_force on | off ;
Défaut : unzstd_force off ;
Contexte : http, server, location, when
Lorsqu'elle est activée, décompresse les réponses zstd sans vérifier si le client
accepte zstd. Les réponses sans Content-Encoding : zstd ne sont pas affectées.
Lorsqu'il est compilé avec ngx_condition_module, cette directive peut également être configurée
à l'intérieur d'un bloc when.
unzstd_buffers
Syntaxe : unzstd_buffers nombre taille ;
Défaut : unzstd_buffers 32 4k | 16 8k ;
Contexte : http, server, location
Définit le nombre et la taille des tampons utilisés pour décompresser une réponse. Par défaut, la taille du tampon est égale à une page mémoire. Celle-ci est de 4 Ko ou 8 Ko, selon la plateforme.
Tests
La suite rapide compile un véritable module dynamique et l'exécute avec le harnais
officiel nginx-tests de nginx.org :
make tests
La passerelle de publication inclut également une exécution statique ASan/UBSan, un
cppcheck exhaustif, CodeQL, le chargement de modules renommés, nginx -t et nginx -T, des
sondes client hostiles, des vérifications de rechargement et de remplacement de workers, une
comptabilité des descripteurs de fichiers stabilisée, ainsi que des preuves du Torture Lab
schéma-v1 :
make lint
make tests-asan
make runtime
GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub de nginx-module-unzstd.