unzstd: Распаковывает закодированные в Zstd ответы для клиентов, которые не поддерживают его
Установка для Debian/Ubuntu
Эти документы применимы к пакету APT nginx-module-unzstd, предоставленному репозиторием GetPageSpeed Extras.
- Настройте APT репозиторий, как описано в настройке APT репозитория.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-unzstd
Warning
Этот модуль еще не опубликован как nginx-module-unzstd в репозиториях APT. Следите за обновлениями или напишите на [email protected], чтобы запросить его.
ngx_http_unzstd_filter_module — это фильтр, который распаковывает ответы с “Content-Encoding: zstd” для клиентов, которые не поддерживают метод кодирования “zstd” (сжатие Zstandard). Модуль будет полезен, когда необходимо хранить данные, сжатые для экономии пространства и снижения затрат на ввод/вывод.
Содержание
Статус
Этот модуль Nginx в настоящее время считается экспериментальным. Проблемы и PR приветствуются, если вы столкнетесь с какими-либо трудностями.
Известная проблема: 1. Из-за неправильной обработки зависимостей библиотеки zstd этот модуль необходимо компилировать вместе с zstd-nginx-module. В настоящее время я не могу решить эту проблему. Добро пожаловать с PR. 2. У этого модуля иногда есть проблема с отправкой маркера конца чанка (0\r\n\r\n) дважды при распаковке чанковых ответов. Я не могу исправить это в данный момент, поэтому мне приходится временно отключить этот модуль. Если вас интересует этот модуль, вы можете попытаться его решить, и ваш PR приветствуется.
Синопсис
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
Включает или отключает распаковку zstd сжатых ответов для клиентов, которые не имеют поддержки zstd.
unzstd_force
Синтаксис: unzstd_force string ...;
По умолчанию: -
Контекст: http, server, location
Определяет условия для принудительной распаковки brotli. Если хотя бы одно значение в строковом параметре не пусто и не равно "0", то выполняется принудительная распаковка zstd. Однако не будет пытаться распаковывать ответы, которые не содержат заголовок ответа Content-Encoding: zstd.
unzstd_buffers
Синтаксис: unzstd_buffers number size;
По умолчанию: unzstd_buffers 32 4k | 16 8k;
Контекст: http, server, location
Устанавливает количество и размер буферов, используемых для распаковки ответа. По умолчанию размер буфера равен одной странице памяти. Это либо 4K, либо 8K, в зависимости от платформы.