Nginx, TLS 1.3 и Brotli в 2026 году: что уже штатно и когда нужен свой модуль
В 2018 году ради TLS 1.3 действительно приходилось собирать свежие Nginx/OpenSSL вручную. В 2026 году это обычная возможность современных дистрибутивов, поэтому пересобирать RPM только ради TLS 1.3 не нужно.
Проверьте текущую сборку
nginx -V
openssl versionВ выводе видно версию Nginx, OpenSSL и параметры сборки.
TLS 1.2 и 1.3
ssl_protocols TLSv1.2 TLSv1.3;Для обычного публичного сайта этого набора достаточно. Не включайте старые TLS 1.0/1.1 ради древнего клиента без отдельной необходимости и изоляции.
Brotli всё ещё отдельный модуль
Популярный ngx_brotli содержит filter-модуль для динамического сжатия и static-модуль для заранее сжатых файлов. Его можно подключать статически или как dynamic module.
Лучше пакет модуля, чем полный самосбор
Если ваш дистрибутив предоставляет совместимый Brotli-модуль для своей версии Nginx, используйте пакет. Самостоятельная сборка повышает цену обновлений: после обновления Nginx старый .so может стать бинарно несовместимым.
Если всё-таки собираете dynamic module
Официальный ngx_brotli требует использовать совместимые аргументы сборки Nginx и --with-compat --add-dynamic-module=.... Исходные параметры удобно получить через nginx -V.
Базовая настройка Brotli
brotli on;
brotli_comp_level 5;
brotli_static on;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;Высокий уровень сжатия не всегда выгоден для динамических ответов: CPU растёт быстрее, чем экономия трафика. Для статических ресурсов разумнее предварительное сжатие при сборке сайта.
Проверка
curl -I --compressed https://example.com/app.css
openssl s_client -connect example.com:443 -tls1_3После изменения конфигурации всегда сначала выполняйте nginx -t, и только затем reload.