Перейти к содержанию

unzstd: Распаковывает закодированные в Zstd ответы для клиентов, которые не поддерживают его

Установка для Debian/Ubuntu

Эти документы применимы к пакету APT nginx-module-unzstd, предоставленному репозиторием GetPageSpeed Extras.

  1. Настройте APT репозиторий, как описано в настройке APT репозитория.
  2. Установите модуль:
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, в зависимости от платформы.