brotli: NGINX Brotli dynamische Module
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-brotli
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-brotli
Aktivieren Sie das Modul, indem Sie Folgendes am Anfang von /etc/nginx/nginx.conf hinzufügen:
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
Dieses Dokument beschreibt nginx-module-brotli v0.1.4 veröffentlicht am 01. Juli 2021.
Brotli ist ein generischer verlustfreier Kompressionsalgorithmus, der Daten mithilfe einer Kombination aus einer modernen Variante des LZ77-Algorithmus, Huffman-Codierung und 2. Ordnung Kontextmodellierung komprimiert, mit einem Kompressionsverhältnis, das mit den besten derzeit verfügbaren generischen Kompressionsmethoden vergleichbar ist. Es ist in der Geschwindigkeit ähnlich wie deflate, bietet jedoch eine dichtere Kompression.
ngx_brotli ist ein Satz von zwei NGINX-Modulen:
- ngx_brotli Filtermodul - wird verwendet, um Antworten on-the-fly zu komprimieren,
- ngx_brotli statisches Modul - wird verwendet, um vorab komprimierte Dateien bereitzustellen.
Konfigurationsdirektiven
brotli_static
- Syntax:
brotli_static on|off|always - Standard:
off - Kontext:
http,server,location
Aktiviert oder deaktiviert die Überprüfung der Existenz von vorab komprimierten Dateien mit der .br
Erweiterung. Mit dem Wert always wird die vorab komprimierte Datei in allen Fällen verwendet,
ohne zu überprüfen, ob der Client dies unterstützt.
brotli
- Syntax:
brotli on|off - Standard:
off - Kontext:
http,server,location,if
Aktiviert oder deaktiviert die On-the-Fly-Kompression von Antworten.
brotli_types
- Syntax:
brotli_types <mime_type> [..] - Standard:
text/html - Kontext:
http,server,location
Aktiviert die On-the-Fly-Kompression von Antworten für die angegebenen MIME-Typen
neben text/html. Der spezielle Wert * entspricht jedem MIME-Typ.
Antworten mit dem MIME-Typ text/html werden immer komprimiert.
brotli_buffers
- Syntax:
brotli_buffers <number> <size> - Standard:
32 4k|16 8k - Kontext:
http,server,location
Veraltet, wird ignoriert.
brotli_comp_level
- Syntax:
brotli_comp_level <level> - Standard:
6 - Kontext:
http,server,location
Legt die On-the-Fly-Kompressionsqualität (Kompression) level für Brotli fest.
Akzeptable Werte liegen im Bereich von 0 bis 11.
brotli_window
- Syntax:
brotli_window <size> - Standard:
512k - Kontext:
http,server,location
Legt die Brotli-Fenstergröße size fest. Akzeptable Werte sind 1k, 2k, 4k, 8k, 16k,
32k, 64k, 128k, 256k, 512k, 1m, 2m, 4m, 8m und 16m.
brotli_min_length
- Syntax:
brotli_min_length <length> - Standard:
20 - Kontext:
http,server,location
Legt die minimale length einer Antwort fest, die komprimiert wird.
Die Länge wird nur aus dem Content-Length-Antwortheaderfeld bestimmt.
Variablen
$brotli_ratio
Erreichtes Kompressionsverhältnis, berechnet als das Verhältnis zwischen der ursprünglichen und der komprimierten Antwortgröße.
Beispielkonfiguration
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
GitHub
Sie finden zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub Repository für nginx-module-brotli.