unzstd: Распаковка ответов, сжатых Zstd, для клиентов, которые не поддерживают его
Установка
Вы можете установить этот модуль в любом дистрибутиве на основе RHEL, включая, но не ограничиваясь:
- RedHat Enterprise Linux 7, 8, 9 и 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 и 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
Включите модуль, добавив следующую строку в начало /etc/nginx/nginx.conf:
load_module modules/ngx_http_unzstd_filter_module.so;
В этом документе описывается nginx-module-unzstd v0.2.0, выпущенный 02 сентября 2026 года.
server {
listen 127.0.0.1:8080;
server_name localhost;
location / {
# включить распаковку zstd для клиентов, которые не поддерживают сжатие zstd
unzstd on;
proxy_pass http://foo.com;
}
}
Директивы
unzstd
Синтаксис: unzstd on | off;
По умолчанию: unzstd off;
Контекст: http, server, location, when
Включает или отключает распаковку ответов, сжатых zstd, для клиентов, у которых отсутствует поддержка zstd.
При сборке с ngx_condition_module эта директива также может быть настроена
внутри блока when.
unzstd_force
Синтаксис: unzstd_force on | off;
По умолчанию: unzstd_force off;
Контекст: http, server, location, when
При включении распаковывает ответы zstd без проверки того, поддерживает ли
клиент zstd. Ответы без Content-Encoding: zstd не затрагиваются.
При сборке с ngx_condition_module эта директива также может быть настроена
внутри блока when.
unzstd_buffers
Синтаксис: unzstd_buffers number size;
По умолчанию: unzstd_buffers 32 4k | 16 8k;
Контекст: http, server, location
Задает количество и размер буферов, используемых для распаковки ответа. По умолчанию размер буфера равен одной странице памяти. Это либо 4K, либо 8K, в зависимости от платформы.
Тестирование
Быстрый набор тестов собирает реальный динамический модуль и запускает его с официальным
набором тестов nginx-tests от nginx.org:
make tests
Релизный этап также включает статическое выполнение ASan/UBSan, исчерпывающий
cppcheck, CodeQL, загрузку переименованного модуля, nginx -t и nginx -T, враждебные
клиентские проверки, проверки перезагрузки и замены рабочих процессов, учет
установленных файловых дескрипторов и доказательства Torture Lab схемы v1:
make lint
make tests-asan
make runtime
GitHub
Вы можете найти дополнительные советы по настройке и документацию для этого модуля в репозитории GitHub для nginx-module-unzstd.