Доступен nginx 1.25.0 с экспериментальной поддержкой HTTP/3

Представлен первый выпуск новой основной ветки nginx 1.25.0, в рамках которой будет продолжено развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.24.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.25.x будет сформирована стабильная ветка 1.26.

Новый выпуск примечателен добавлением модуля ngx_http_v3 с экспериментальной поддержкой протокола HTTP/3. Модуль отключён по умолчанию и для активации при сборке требует указания опции “–with-http_v3_module”. Для работы модуля рекомендуется сборка с криптографическими библиотеками, поддерживающими протокол QUIC, такими как BoringSSL, LibreSSL или QuicTLS. При сборке с OpenSSL будет задействован слой для обеспечения совместимости, в котором не поддерживается ранняя отправка данных клиентом (ssl_early_data).

http/3 определяет использование протокола QUIC (Quick UDP Internet Connections) в качестве транспорта для HTTP/2. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных.

Дополнительно можно отметить выпуск сервера приложений NGINX Unit 1.30.0, в рамках которого развивается решение для запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0.

В новой версии NGINX Unit добавлена поддержка перезаписи входящих URI в процессе маршрутизации запроса; предоставлена возможность вычисления значений при определении конфигурации, используя модули и функции JavaScript; реализована поддержка вывода в лог диагностических сообщений приложений и отладочных данных о маршрутизации запросов.

Release. Ссылка here.