Образуван е издаването на основната версия nginx 1.21.2, в рамките на което продължава развитието на нови възможности (в паралелно поддържаната стабилна версия 1.20 се внасят само изменения, свързани с отстраняване на сериозни грешки и уязвимости).
Основни промени:
- Осигурена е блокировка на HTTP/1.0 заявки, включващи HTTP заглавие «Transfer-Encoding» (появи се в версията на протокола HTTP/1.1).
- Прекратена е поддръжката на експортирания набор от шифри.
- Осигурена е съвместимост с библиотеката OpenSSL 3.0.
- Реализирано е предаването на заглавията «Auth-SSL-Protocol» и «Auth-SSL-Cipher» на сървъра за аутентификация на пощенския прокси.
- В API за филтриране на тялото на заявката е разрешена буферизация на обработваните данни.
- При зареждане на сертификатите на сървера е установено използването на нива на защита, поддържани от OpenSSL 1.1.0 и задаваеми чрез параметъра «@SECLEVEL=N» в директивата ssl_ciphers.
- Премахнати са забавяния, проявяващи се при създаване SSL- на свързвания към бекендите в модулите stream и gRPC.
- Разрешен е проблемът с записването на диска на тялото на заявката при използване на HTTP/2, в случай че заглавието «Content-Length» липсва в заявката.
Също така се състоя изданието на njs 0.6.2, интерпретатора на JavaScript за веб-сервера nginx. Интерпретаторът njs реализира стандартите ECMAScript и позволява разширяване на възможностите на nginx за обработка на заявки с помощта на скриптове в конфигурацията. Скриптовете могат да се използват в конфигурационния файл за определяне на разширена логика за обработка на заявки, генериране на конфигурации, динамично генериране на отговори, модификация на заявки/отговори или бързо създаване на модули за решаване на проблеми в уеб приложенията. В новата версия в реализацията на Promise са добавени методите Promise.all(), Promise.allSettled(), Promise.any() и Promise.race(). Плътен елемент AggregateError е внедрен.
Източник: opennet.ru
