После 11 месяцев разработки представлена новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.24.0, которая вобрала в себя изменения, накопленные в основной ветке 1.23.x. В дальнейшем все изменения в стабильной ветке 1.24 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.25, в которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.
В соответствии с мартовским отчетом компании Netcraft nginx используется на 18.94% всех активных сайтов (год назад 20.08%, два года назад 20.15%), что соответствует второму месту по популярности в данной категории (доля Apache соответствует 20.52% (год назад 22.58%, два года назад 25.38%), Cloudflare – 11.32% (10.42%, 8.51%), Google – 9.89% (8.89%, 10.09%). При этом при рассмотрении всех сайтов nginx сохраняет лидерство и занимает 25.94% рынка (год назад 31.13%, два года назад – 35.34%), в то время как доля Apache соответствует 20.58% (23.08%), Cloudflare – 10.17% (5.49%), OpenResty (платформа на базе nginx и LuaJIT) – 7.94% (8.01%).
Среди миллиона самых посещаемых сайтов в мире в этом году в лидеры выбился Cloudflare, доля которого составила 21.62%. Для сравнения доля nginx составляет 21.37% (год назад 21.79%, два года назад 23.06%), а Apache httpd – 21.18%. В настоящее время под управлением nginx работает около 289 млн сайтов (год назад 361 млн). По данным W3Techs nginx используется на 34.5% сайтов из миллиона самых посещаемых, в апреля прошлого года этот показатель составлял 33.1%, позапрошлого – 33.8%. Доля Apache за год увеличилась с 31.3% до 32.2%, а доля Node.js с 1.8% до 2%. Доля Microsoft IIS снизилась с 6% до 5.6%, а доля LiteSpeed с 12.2% до 11.8%. В России nginx используется на 81.3% самых посещаемых сайтов (год назад – 79.8%).
Наиболее заметные улучшения, добавленные в процессе формирования основной ветки 1.23.x:
- По умолчанию включён протокол TLSv1.3.
- Обеспечена автоматическая ротация ключей шифрования для сессионных тикетов TLS, применяемая при использовании разделяемой памяти в директиве ssl_session_cache.
- Проведена оптимизация потребления памяти в конфигурациях с проксированием SSL.
- Добавлена поддержка переменных “$proxy_protocol_tlv_*“, в которые записываются значения полей TLV (Type-Length-Value), фигурирующих в протоколе Type-Length-Value PROXY v2.
- В модуле ngx_http_gzip_static_module добавлена поддержка байтовых диапазонов (byte range).
- В директиву “resolver” добавлен параметр “ipv4=off”, позволяющий отключить поиск IPv4-адресов при преобразовании имён и адреса.
- Переделан внутренний API, строки заголовков теперь передаются в форме связанного списка.
- Обеспечено объединение строк заголовков с идентичными именами при передаче в бэкенды FastCGI, SCGI и uwsgi, в методе $r->header_in() модуля ngx_http_perl_module и в переменных “$http_…”, “$sent_http_…”, “$sent_trailer_…”, “$upstream_http_…” и “$upstream_trailer_…”.
- Обеспечен вывод предупреждения в случае переопределения настроек используемых протоколов для слушающего сокета.
- Уровень логов для многих ошибок SSL понижен с критического до информационного.
- На платформе Windows в модулях ngx_http_autoindex_module и ngx_http_dav_module, а также в директиве include добавлена поддержка не-ASCII символов в именах файлов. В Windows также налажена сборка nginx с OpenSSL 3.0.