zstd: NGINX-Modul für die Zstandard-Kompression
Installation
Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:
- RedHat Enterprise Linux 7, 8, 9 und 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 und Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-zstd
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-zstd
Aktivieren Sie das Modul, indem Sie Folgendes am Anfang von /etc/nginx/nginx.conf hinzufügen:
load_module modules/ngx_http_zstd_filter_module.so;
load_module modules/ngx_http_zstd_static_module.so;
Dieses Dokument beschreibt nginx-module-zstd v0.2.1 veröffentlicht am 27. Juli 2026.
## das Wörterbuch angeben
zstd_dict_file /path/to/dict;
server {
listen 127.0.0.1:8080;
server_name localhost;
location / {
# zstd-Kompression aktivieren
zstd on;
zstd_min_length 256; # nicht weniger als 256 Bytes
zstd_comp_level 3; # setze das Niveau auf 3
proxy_pass http://foo.com;
}
}
server {
listen 127.0.0.1:8081;
server_name localhost;
location / {
zstd_static on;
root html;
}
}
Direktiven
ngx_http_zstd_filter_module
Das ngx_http_zstd_filter_module Modul ist ein Filter, der Antworten mit der "zstd" Methode komprimiert. Dies hilft oft, die Größe der übertragenen Daten um die Hälfte oder sogar mehr zu reduzieren.
zstd_dict_file
Syntax: zstd_dict_file /path/to/dict;
Standard: -
Kontext: http
Spezifiziert das externe Wörterbuch.
WARNUNG: Seien Sie vorsichtig! Die Registrierung des Content-Codings gibt nur ein Mittel an, um die Verwendung des zstd-Formats zu signalisieren, und spezifiziert nicht zusätzlich einen Mechanismus zur Werbung/Verhandlung/Synchronisierung der Verwendung eines bestimmten Wörterbuchs zwischen Client und Server. Verwenden Sie zstd_dict_file nur, wenn Sie sicherstellen können, dass beide Enden (Server und Client) in der Lage sind, dasselbe Wörterbuch zu verwenden (z. B. Werbung mit einem HTTP-Header). Siehe https://github.com/tokers/zstd-nginx-module/issues/2 für die Details.
zstd
Syntax: zstd on | off;
Standard: zstd off;
Kontext: http, server, location, if in location
Aktiviert oder deaktiviert die zstd-Kompression für die Antwort.
zstd_comp_level
Syntax: zstd_comp_level level;
Standard: zstd_comp_level 1;
Kontext: http, server, location
Setzt ein zstd-Kompressionsniveau für eine Antwort. Akzeptable Werte liegen im Bereich von 1 bis ZSTD_maxCLevel().
zstd_min_length
Syntax: zstd_min_length length;
Standard: zstd_min_length 20;
Kontext: http, server, location
Setzt die Mindestlänge einer Antwort, die von zstd komprimiert wird. Die Länge wird nur aus dem Content-Length Antwort-Headerfeld bestimmt.
zstd_types
Syntax: zstd_types mime-type ...;
Standard: zstd_types text/html application/wasm text/wgsl;
Kontext: http, server, location
Aktiviert zstd für Antworten der angegebenen MIME-Typen zusätzlich zu text/html. Der spezielle Wert * entspricht jedem MIME-Typ.
application/wasm und text/wgsl werden standardmäßig komprimiert: beide sind textähnliche Formate, die unter einem Nicht-Text-Medientyp bereitgestellt werden, sodass sie gut komprimiert werden, aber leicht übersehen werden können. Die explizite Angabe von zstd_types ersetzt die Standardwerte außer text/html, das immer enthalten ist.
zstd_buffers
Syntax: zstd_buffers number size;
Standard: zstd_buffers 32 4k | 16 8k;
Kontext: http, server, location
Setzt die Anzahl und Größe der Puffer, die zur Komprimierung einer Antwort verwendet werden. Standardmäßig ist die Puffergröße gleich einer Speicherseite. Dies sind entweder 4K oder 8K, abhängig von der Plattform.
ngx_http_zstd_static_module
Das ngx_http_zstd_static_module Modul ermöglicht das Senden von vorab komprimierten Dateien mit der Dateiendung .zst anstelle von regulären Dateien.
zstd_static
Syntax: zstd_static on | off | always;
Standard: zstd_static off;
Kontext: http, server, location
Aktiviert ("on") oder deaktiviert ("off") die Überprüfung der Existenz von vorab komprimierten Dateien. Die folgenden Direktiven werden ebenfalls berücksichtigt: gzip_vary.
Mit dem Wert "always" wird die "zstd"-Datei in allen Fällen verwendet, ohne zu überprüfen, ob der Client dies unterstützt.
Wenn keine .zst-Datei vorhanden ist, wird die Anfrage unverändert abgelehnt, sodass gzip_static und der gzip-Filter weiterhin wie gewohnt angewendet werden.
Variablen
ngx_http_zstd_filter_module
$zstd_ratio
Erzieltes Kompressionsverhältnis, berechnet als das Verhältnis zwischen der ursprünglichen und der komprimierten Antwortgröße.
GitHub
Sie finden zusätzliche Konfigurationstipps und Dokumentation für dieses Modul im GitHub Repository für nginx-module-zstd.