Обявено е издание на основната версия на nginx 1.29.4, в която продължава развитието на нови възможности. В паралелно поддържаната стабилна версия 1.28.x се внасят само промени, свързани с отстраняване на сериозни грешки и уязвимости. В бъдеще на базата на основната версия 1.29.x ще бъде формирана стабилна версия 1.30. Кодът на проекта е написан на С и се разпространява под лицензия BSD.
В новото издание:
- В модула ngx_http_proxy е добавена поддръжка на протокола HTTP/2, което позволява използването на HTTP/2 при достъп до бекендите.
- Добавена е поддръжка на 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 с ECH.
- Правилата за проверка на хоста и порта в текста на заявката, заглавието "Host" и псевдо-заглавието ":authority" са приведени в съответствие с изискванията на RFC 3986.
- Указването на един символ за нов ред като завършваща последователност в chunked-заявките или в тялото на отговора сега се обработва като грешка.
- Отстранено е аварийното приключване при използване на HTTP/3 с библиотеката OpenSSL 3.5.1+.
- Отстранено е аварийното приключване на работния процес при едновременно указване на директивите try_files и proxy_pass с URI.
Източник: opennet.ru
