После 13 месяцев разработки выпущена новая стабильная ветка Высокопроизводительный HTTP-сервер и многопротокольный прокси-сервер нгинкс 1.22.0, которая включает в себя изменения, накопленные в основной ветке 1.21.x.
В будущем, все изменения в стабильной ветке 1.22 будут связаны с отладкой и серьезные уязвимые места. В ближайшее время будет сформирована основная ветка nginx 1.23, в которой продолжится разработка новых возможностей.
Для обычных пользователей, у которых нет задачи обеспечения совместимости со сторонними модулями, рекомендуется использовать основную ветку, на основе которой каждые три месяца формируются версии коммерческого продукта Nginx Plus.
Главные новости nginx 1.22.0
В представленной новой версии nginx 1.22.0 Улучшенная защита от атак класса HTTP Request Smuggling. в системах front-end-backend, которые позволяют вам получать доступ к содержимому запросов других пользователей, обрабатываемых в одном потоке между front-end и back-end. Nginx теперь всегда возвращает ошибку при использовании метода CONNECT; путем одновременного указания заголовков «Content-Length» и «Transfer-Encoding»; при наличии пробелов или управляющих символов в строке запроса, имени заголовка HTTP или значении заголовка «Host».
Еще одна новинка, которая выделяется в этой новой версии, заключается в том, что добавлена поддержка переменных в директивы «proxy_ssl_certificate», «proxy_ssl_certificate_key», «grpc_ssl_certificate», «grpc_ssl_certificate_key», «uwsgi_ssl_certificate» и «uwsgi_ssl_certificate_key».
Кроме того, также отмечается, что он был добавлен поддержка «конвейерного» режима для отправки нескольких запросов POP3 или IMAP по одному и тому же соединению к модулю почтового прокси, а также новую директиву «max_errors», указывающую максимальное количество ошибок протокола, после которого соединение будет закрыто.
Заголовки «Auth-SSL-Protocol» и «Auth-SSL-Cipher» передаются на почтовый прокси-сервер аутентификации, плюс в модуль передачи добавлена поддержка расширения ALPN TLS. Для определения списка поддерживаемых протоколов ALPN (h2, http/1.1) предлагается директива ssl_alpn, а для получения информации о согласованном с клиентом протоколе ALPN — переменная $ssl_alpn_protocol.
Из других изменений которые выделяются:
- Блокирование запросов HTTP/1.0, содержащих HTTP-заголовок «Transfer-Encoding» (представлено в версии протокола HTTP/1.1).
- Платформа FreeBSD улучшила поддержку системного вызова sendfile, предназначенного для организации прямой передачи данных между файловым дескриптором и сокетом. Режим sendfile(SF_NODISKIO) включен постоянно, и добавлена поддержка режима sendfile(SF_NOCACHE).
- В передающий модуль добавлен параметр «fastopen», который включает режим «TCP Fast Open» для слушающих сокетов.
- Исправлено экранирование символов «»», «<«, «>», «», «^», «`», «{«, «|» и «}» при использовании прокси с изменением URI.
- В модуль stream добавлена директива proxy_half_close, с помощью которой можно настроить поведение при закрытии TCP-соединения прокси с одной стороны («TCP half-close»).
- В модуль ngx_http_mp4_module добавлена новая директива mp4_start_key_frame для потоковой передачи видео из ключевого кадра.
- Добавлена переменная $ssl_curve для возврата типа эллиптической кривой, выбранной для согласования ключей в сеансе TLS.
- Директива sendfile_max_chunk изменила значение по умолчанию на 2 мегабайта;
- Поддержка предоставляется библиотекой OpenSSL 3.0. Добавлена поддержка вызова SSL_sendfile() при использовании OpenSSL 3.0.
- Сборка с библиотекой PCRE2 включена по умолчанию и предоставляет функции для обработки регулярных выражений.
- При загрузке сертификатов сервера скорректировано использование уровней безопасности, поддерживаемых начиная с OpenSSL 1.1.0 и устанавливаемых с помощью параметра «@SECLEVEL=N» в директиве ssl_ciphers.
- Удалена поддержка набора экспортных шифров.
- В API фильтрации тела запроса разрешена буферизация обрабатываемых данных.
- Удалена поддержка установления соединений HTTP/2 с использованием расширения NPN (Next Protocol Negotiation) вместо ALPN.
В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.