Випуск NGINX 1.30: нова стабільна версія веб-сервера

Випуск NGINX 1.30: нова стабільна версія веб-сервера

Компанія NGINX презентувала версію 1.30, що встановлює нову стабільну гілку для найбільш використовуваного веб-сервера у світі. Зараз NGINX використовується більш ніж на 32% усіх веб-сайтів.

Ключові нововведення в NGINX 1.30

У новому релізі додано підтримку HTTP Early Hints, з’єднань HTTP/2 з upstream-серверами, інтеграцію OpenSSL ECH для Encrypted ClientHello, стійкі сесії для upstream-ів, а також підтримку Multipath TCP. Тепер за замовчуванням версія HTTP для upstream-ів налаштовується на HTTP/1.1 з увімкненим keep-alive.

Випуск також розширює функціональність TLS та SSL. Значні зміни включають стиснення сертифікатів, підтримку завантаження ключів через OSSL_STORE, стиснуті серверні сертифікати з BoringSSL, нові змінні $ssl_sigalg та $ssl_client_sigalg, оновлене обробляння SNI через колбек ClientHello та поліпшення сумісності з OpenSSL 4.0.

Покращення протоколу HTTP в NGINX 1.30

У NGINX 1.30 були реалізовані покращення для протоколу HTTP. Серед них — вдосконалене обробляння повторних відповідей 103, передачі Early Hints через HTTP/2, додавання індексованого кодування полів для “103 Early Hints” в HTTP/3. Також виправлено проблеми з :authority та обробкою Host у HTTP/2 і HTTP/3. Користувачі отримають також нову інфраструктуру HTTP CONNECT та директиву max_headers.

Щодо HTTP/3, в цій версії виправлено обробку цілих чисел змінної довжини, поведінку підтверджень в умовах обмежених вікон затримки, сегментаційні помилки при збої рукостискання, оброблення скидання без стану, токени скидання без стану прив’язані до воркерів, компіляцію BPF для новіших версій Linux, інтеграцію OpenSSL 3.5 QUIC API, а також ряд удосконалень сумісності та тестування нових функцій.

Виправлення проблем у NGINX 1.30

Разом із підтримкою HTTP/2 для upstream-ів і стійкими сесіями, версія 1.30 виправляє реініціалізацію запитів gRPC з Early Hints, проблеми кешування HTTP/2, сегментаційні помилки при зміні URI в проксі, поведінку скидання для очікуючих контрольних кадрів HTTP/2. Також виправлено скидання буферного ланцюга gRPC при реініціалізації upstream-ів, скидання локальної адреси при помилках, а також виявлення переповнень в обробці Cache-Control та delta-seconds.

Варто зазначити, що модуль upstream keepalive тепер увімкнено за замовчуванням. Багато інших виправлень також впроваджено в інших компонентах сервера. Щоб ознайомитися з усіма деталями, відвідайте офіційний сайт NGINX.