Вышел nginx 1.30

4 мин
Вышел nginx 1.30

14 апреля 2026 года состоялся выпуск высокопроизводительного HTTP‑сервера и многопротокольного прокси‑сервера nginx 1.30.0. Исходный исходник проекта nginx написан на языке C и распространяется под лицензией BSD. Проект nginx 1.28.0 вышел в апреле 2025 года. Выпуск nginx 1.29 случился в июне 2025 года.

В рамках nginx 1.30 разработчиками будет продолжено развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.29.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.30.x будет сформирована стабильная ветка 1.31.

По информации OpenNET, в nginx 1.30 вошли улучшения и дополнения:

  • добавлена поддержка протокола Multipath TCP (MPTCP), позволяющего доставлять пакеты одновременно по нескольким маршрутам через разные сетевые интерфейсы. Для включения в директиву «isten добавлен параметр multipath;

  • добавлена сопровождение TLS‑расширения ECH (Encrypted ClientHello), продолжающего развитие расширения ESNI (Encrypted Server Name Indication) и используемого для шифрования информации о параметрах TLS‑сеансов, таких как запрошенное доменное имя. Ключевое отличие ECH от ESNI в том, что в ECH вместо шифрования на уровне отдельных полей полностью шифруется всё TLS‑сообщение ClientHello, что позволяет блокировать утечки через поля, которые не охватывает ESNI, например, поле PSK (Pre‑Shared Key). Использование ECH включается через указание в директиве ssl_ech_file файла конфигурации ECHConfig в формате PEM. Сопровождение доступна при использовании библиотеки OpenSSL 4.0;

  • добавлена возможность привязки сеансов клиентов к одним и тем же серверам в группе. Доступно три метода: cookie — передача данных о выбранном сервере через указанную Cookie; route — проксируемый хост назначает клиенту маршрут при получении первого запроса; learn — nginx анализирует ответы от upstream‑сервера и запоминает начатые сервером сеансы. Для настройки привязки в блок upstream модуля http добавлена директива sticky, а в директиву server добавлены параметры route и drain;

  • добавлена директива early_hints и реализована сопровождение HTTP‑кода 103 в ответах от бэкендов proxy и gRPC. Код 103 позволяет информировать клиента о содержании некоторых HTTP‑заголовков сразу после запроса, не дожидаясь пока сервер выполнит все связанные с запросом операции и начнёт отдачу контента. Подобным образом можно сообщать подсказки о связанных с отдаваемой страницей элементах, которые могут быть предварительно загружены (например, могут быть приведены ссылки на используемые на странице css и javascript). Получив информацию о подобных ресурсах браузер приступит к их загрузке не дожидаясь окончания отдачи главный страницы, что позволяет сократить общее время обработки запроса;

  • добавлены директивы add_header_inherit и add_trailer_inherit, позволяющие изменить правила наследования значений, указанных в директивах add_header и add_trailer. Параметр off отменяет наследование значений, а параметр merge включает добавление значений с предыдущего уровня к значениям на текущем уровне;

  • добавлена директива ssl_certificate_compression для управления сжатием TLS‑сертификатов;

  • добавлена директива max_headers, ограничивающая максимальное число HTTP‑заголовков в запросе. При превышении лимита возвращается сбой 400 (Bad Request). Возможность перенесена из FreeNginx;

  • добавлены переменные $request_port и $is_request_port. Первая переменная содержит номер порта из компонента URI или из заголовка «Host», а вторая содержит «:», если переменная $request_port не пустая;

  • добавлены переменные $ssl_sigalg и $ssl_client_sigalg, содержащие название алгоритма формирования виртуальный подписи для TLS‑соединения;

  • в директиву geo добавлен параметр volatile, отключающий кэширование переменной. Разрешено применять маски в директиве include, указанной внутри блока geo;

  • в блоке upstream активирована по умолчанию директива keepalive. В директиву keepalive, используемую в блоке upstream, добавлен параметр local. При указании данного параметра, вместо совместного использования одного соединения к общему upstream‑серверу, упоминаемому в разных блоках location и server, для каждого блока поддерживается отдельное соединение к upstream;

  • при использовании в режиме прокси по умолчанию выставлена версия протокола HTTP/1.1 с включением режима keep‑alive (в модуле ngx_http_proxy_module включена по умолчанию сопровождение keep‑alive и выставлено значение 1.1 в директиве proxy_http_version и прекращена отправка по умолчанию заголовка Connection);

  • в модуль ngx_http_proxy добавлена поддержка протокола HTTP/2, что позволяет применять HTTP/2 при обращении к бэкендам;

  • предоставлена возможность загрузки криптографических ключей из аппаратных токенов, используя в качестве провайдера библиотеку OpenSSL;

  • в реализацию протокола QUIC добавлена сопровождение режима 0-RTT, доступная на системах с OpenSSL 3.5.1 и более новыми выпусками;

  • добавлена возможность сборки с криптографической библиотекой AWS‑LC, развиваемой компанией Amazon;

  • по умолчанию отключено сжатие сертификатов TLSv1.3;

  • обеспечена совместимость с библиотекой OpenSSL 4.0.

Также состоялся релиз проекта FreeNginx 1.30.0 - форка Nginx от Максима Дунина (один из ключевых разработчиков Nginx). Подход FreeNginx позиционируется как некоммерческий проект, обеспечивающий разработку кодовой базы Nginx без корпоративного вмешательства. Исходник FreeNginx продолжает поставляться под лицензией BSD. Среди изменений в ветке FreeNginx 1.30: добавлена сопровождение TLS-расширения ECH (Encrypted Client Hello); улучшена обработка директивы limit_rate; добавлены директивы send_min_rate и client_body_min_rate; реализована возможность ограничения числа соединений и интенсивности запросов в почтовом прокси; добавлена сопровождение БД GeoIP2 в модуле GeoIP; усилена защита модуля XSLT.

Читают сейчас

Авторы Telega: заказчик Telega не превращает iPhone в «кирпич» после обновления до iOS 26.4.1

38 минут назад

Авторы Telega: заказчик Telega не превращает iPhone в «кирпич» после обновления до iOS 26.4.1

Разработчики Telega заявили, что их альтернативный клиент Telegram не превращает iPhone в «кирпич» после обновления до iOS 26.4.1. В команде проекта пояснили. что проблемы в связи с обновления не связ

Инициатива World Альтмана интегрирует технологию верификации в приложения для знакомств

44 минуты назад

Инициатива World Альтмана интегрирует технологию верификации в приложения для знакомств

Инициатива Сэма Альтмана по верификации пользователей World заключает партнёрство с Tinder, чтобы интегрировать свою технологию верификации в программа для знакомств. Аналогичные технологии планируетс

Альтман покинет OpenAI перед IPO? Его сделки слишком часто обогащают не OpenAI, а его самого

48 минут назад

Альтман покинет OpenAI перед IPO? Его сделки слишком часто обогащают не OpenAI, а его самого

The Wall Street Journal опубликовала расследование о личных инвестициях CEO OpenAI Сэма Альтмана. Часть акционеров компании стартовали приватно обсуждать, стоит ли именно ему вести OpenAI на IPO с цел

В Duolingo прекратили отслеживать использование сотрудниками ИИ при оценке эффективности

1 час назад

В Duolingo прекратили отслеживать использование сотрудниками ИИ при оценке эффективности

В апреле 2025 года генеральный директор Duolingo Луис фон Ан объявил, что система будет отслеживать использование ИИ сотрудниками в процессе оценки их работы. Теперь топ-менеджер заявил, что этот пока

Исследование: для разблокировки по лицу на Android-смартфонах можно применять фото

2 часа назад

Исследование: для разблокировки по лицу на Android-смартфонах можно применять фото

Тесты в лабораториях Which выявили, что функцию блокировки по лицу во многих современных смартфонах можно обойти, используя лишь фотографию владельца. Читать далее