Выпуск стабильной ветки Nginx 1.30.0: Ключевые Нововведения

nginx

Выпущена новая стабильная ветка веб-сервера Nginx версии 1.30.0. Этот релиз включает в себя значительные улучшения благодаря интеграции современных протоколов и технологий, таких как ECH, MPTCP и HTTP/2 для прокси, с целью повышения безопасности, производительности и отказоустойчивости перенесенные из основной ветки разработки 1.29.x.

14 апреля 2026 года состоялся выпуск релиза Nginx 1.30.0 с добавлением значительных улучшений и новых функций:

  • Добавлена поддержка TLS-расширения Encrypted ClientHello (ECH) для повышения конфиденциальности.
  • Реализована поддержка Multipath TCP (MPTCP) для одновременного использования нескольких сетевых интерфейсов.
  • Включена поддержка HTTP/2 для проксирования запросов к бэкендам.
  • Появилась встроенная поддержка «липких» сессий (sticky sessions) с методами cookie, route и learn.
  • Реализована поддержка HTTP-кода 103 Early Hints для ускорения загрузки страниц.
  • Добавлена директива max_headers для ограничения числа HTTP-заголовков в запросе.
  • По умолчанию отключено сжатие сертификатов TLSv1.3.
  • По умолчанию включен HTTP/1.1 с keep-alive для проксирования к бэкендам.
  • Добавлены новые переменные для логирования и маршрутизации ($request_port, $ssl_sigalg и др.).
  • Улучшена поддержка QUIC, добавлена возможность загрузки ключей из аппаратных токенов.

Новые Функции

Encrypted ClientHello (ECH):

  • Реализована поддержка TLS-расширения ECH, которое шифрует всё сообщение ClientHello, включая имя сервера (SNI) и Pre-Shared Key (PSK).
  • Это значительно повышает конфиденциальность, предотвращая утечки информации о посещаемых сайтах даже от сетевых наблюдателей.
  • Требуется OpenSSL 4.0 или новее. Настройка осуществляется через директиву ssl_ech_file.

Multipath TCP (MPTCP):

    • Добавлена нативная поддержка протокола MPTCP, позволяющего использовать несколько сетевых интерфейсов одновременно для одного TCP-соединения.
    • Обеспечивает повышенную пропускную способность (агрегация каналов) и отказоустойчивость (мгновенное переключение при обрыве одного интерфейса).
    • Включается параметром multipath в директиве listen. Требуется поддержка на уровне ядра Linux (начиная с 5.6).

HTTP/2 для Проксирования Бэкендов:

      • Модуль ngx_http_proxy теперь полностью поддерживает HTTP/2 при обращении к вышестоящим серверам (upstream).
      • Это ускоряет взаимодействие с бэкендами за счет мультиплексирования и экономии соединений, особенно полезно для gRPC.
      • Настройка осуществляется директивой proxy_http_version 2.0;.

HTTP/103 Early Hints:

      • Реализована поддержка HTTP-кода 103, позволяющего серверу отправлять браузеру подсказки о предзагрузке ресурсов (например, CSS, JS) до получения полного ответа от бэкенда.
      • Ускоряет загрузку страниц, позволяя браузеру начать загрузку критически важных ресурсов параллельно.
      • Включается директивой early_hints on;.

Sticky Sessions (Привязка Сессий):

      • Встроенная поддержка механизма привязки сессий клиентов к определенным серверам в группе.
      • Доступны три метода: cookie (автоматическая установка cookie), route (назначение маршрута бэкендом) и learn (анализ ответов апстрима).
      • Настраивается с помощью директивы sticky в блоке upstream.

Keep-Alive по Умолчанию для Прокси:

      • Модуль ngx_http_proxy теперь по умолчанию использует HTTP/1.1 с включенным режимом keep-alive при обращении к бэкендам.
      • Это снижает количество TCP-соединений и задержек между Nginx и бэкендами.

Улучшения Безопасности и Ограничений

      • Директива max_headers:
        • Ограничивает максимальное количество HTTP-заголовков в запросе, защищая от атак типа «request smuggling» или DoS. При превышении возвращается ошибка 400.
      • Сжатие Сертификатов TLSv1.3:
        • По умолчанию отключено для снижения риска атак уровня TLS (например, CRIME). Может быть включено явно с помощью ssl_certificate_compression on;.
      • Исправленные Уязвимости:
        • В релиз вошли исправления ряда уязвимостей, включая переполнение буфера в модуле обработки медиафайлов, ошибки сегментации при аутентификации, проблемы с DNS-записями и проверкой клиентских сертификатов в модуле stream.

Другие Важные Изменения

    • HTTP/2 для Бэкендов: Добавлена поддержка HTTP/2 при обращении к бэкендам.
    • Загрузка Ключей из Аппаратных Токенов: Возможность загрузки ключей через OpenSSL.
    • Сборка с AWS-LC: Добавлена поддержка сборки с криптографической библиотекой AWS-LC от Amazon.
    • Новые Переменные: Добавлены переменные $request_port, $is_request_port, $ssl_sigalg, $ssl_client_sigalg для более гибкого логирования и маршрутизации.
    • Совместимость: Обеспечена совместимость с OpenSSL 4.0.
Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *