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

compression-normalize: Модуль нормализации Accept-Encoding для NGINX

Установка на Debian/Ubuntu

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

  1. Настройте APT репозиторий, как описано в настройке APT репозитория.
  2. Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-compression-normalize
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия            | Компонент   | Архитектуры     |
|-------------|-------------------|-------------|------------------|
| debian      | bookworm          | main        | amd64, arm64     |
| debian      | bookworm-mainline | main        | amd64, arm64     |
| debian      | trixie            | main        | amd64, arm64     |
| debian      | trixie-mainline   | main        | amd64, arm64     |
| ubuntu      | focal             | main        | amd64, arm64     |
| ubuntu      | focal-mainline    | main        | amd64, arm64     |
| ubuntu      | jammy             | main        | amd64, arm64     |
| ubuntu      | jammy-mainline    | main        | amd64, arm64     |
| ubuntu      | noble             | main        | amd64, arm64     |
| ubuntu      | noble-mainline    | main        | amd64, arm64     |

Описание

ngx_http_compression_normalize_module — это модуль Nginx, разработанный для разбора, нормализации и управления заголовками Accept-Encoding из запросов клиентов. Он обеспечивает согласованное обращение с алгоритмами сжатия, стандартизируя значения Accept-Encoding, что способствует лучшему управлению сжатием и улучшению производительности кэша vary.

Содержание

Статус

Этот модуль Nginx в настоящее время считается экспериментальным. Проблемы и PR приветствуются, если вы столкнетесь с какими-либо проблемами.

Синопсис

http {
    compression_normalize_accept_encoding gzip,br,zstd gzip,br zstd br gzip;

    server {
        listen 80;
        server_name example.com;

        location / {
            # Ваши настройки
        }
    }
}

Директивы

compression_normalize_accept_encoding

Синтаксис: compression_normalize_accept_encoding combinations1 [combinations2 ..] | off;

По умолчанию: compression_normalize_accept_encoding off;

Контекст: http, server, location

Включает нормализацию заголовка Accept-Encoding, указывая предпочтительные комбинации алгоритмов сжатия. Эта директива принимает список методов сжатия, позволяя определить порядок и приоритет типов кодирования, которые сервер должен предпочитать при ответе на запросы клиентов.

Например, с следующей настройкой

compression_normalize_accept_encoding gzip,br,zstd gzip,br zstd br gzip;

Если заголовок запроса Accept-Encoding содержит gzip, br и zstd одновременно, значение стандартизированного заголовка Accept-Encoding будет gzip,br,zstd. Если указанные выше условия не выполняются, но заголовок запроса содержит gzip и br, значение стандартизированного заголовка Accept-Encoding будет gzip,br. И так далее, пока не будут проверены все комбинации, указанные в директиве compression_normalize_accept_encoding. Если ни одна комбинация не была выполнена, заголовок Accept-Encoding будет просто удалён.

Значение off отключит эту функцию.

Переменные

\$compression_original_accept_encoding

сохраняет первоначальное значение заголовка Accept-Encoding запроса.