LINUX.ORG.RU

Nginx 1.24.0

 , , , ,


0

1

После 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.

>>> Подробности

★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Ответ на: комментарий от keeper_b

Зачем? Никаких уязвимостей не исправлено по сравнению с предыдущей версией.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

хотелось бы нормальных if else в конфигах, а не этих закидонов с морализаторством как им нужно или нинужно делать

Syncro ★★★★★
()
Ответ на: комментарий от hobbit

в nginx’овых конфигах не работает if else (только if), блок условия как-то предельно ограничен в возможностях, и само применение его органичено (в локейшин засунуть низзя) и причиной тому насколько мне известно, позиция разработчиков «а неча городить программинг в конфигах», ну как результат получается не программный код, адовые трюки, которые понять или поддерживать развивать гораздо тяжелее. Вобщем, как всегда, фошисты заботятся о пастве выкручивая им все что можно.

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 3)

По умолчанию включён протокол TLSv1.3.

Давно пора было это сделать.

mord0d ★★★★★
()
Ответ на: комментарий от keir

нуда, else слишком сложна, давайте зафигачим все в псевдографике:

map $arg_one $var_two {
    "one"    "two";
    "three"  "four";
}

кто сходу угадает что тут произошло может считать себя природным нгиксоидом

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)
Ответ на: комментарий от Syncro

А что тут такого, обычное отображение, левая часть превращается в правую(if one->two, if three->four). Или нет?

e7z0x1 ★★★★★
()
Ответ на: комментарий от e7z0x1

математически оно записывается не так, тут полагается заполнить две переменные из массива значений

Syncro ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.