compression-normalize: Модуль нормализации Accept-Encoding для NGINX
Установка
Вы можете установить этот модуль в любом дистрибутиве на базе 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-compression-normalize
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-compression-normalize
Включите модуль, добавив следующее в начало файла /etc/nginx/nginx.conf:
load_module modules/ngx_http_compression_normalize_module.so;
Этот документ описывает nginx-module-compression-normalize v1.0.0, выпущенный 6 января 2026 года.
Описание
ngx_http_compression_normalize_module — это модуль Nginx, предназначенный для разбора, нормализации и управления заголовками Accept-Encoding из клиентских запросов. Он обеспечивает последовательную обработку алгоритмов сжатия, стандартизируя значения Accept-Encoding, что облегчает управление сжатием и улучшает производительность кэша vary.
Синопсис
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 запроса.
GitHub
Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-compression-normalize.