Русский
Русский
English
Статистика
Реклама

Вышел релиз nginx 1.20.0


С момента выхода прошлой версии nginx прошел целый год. Сейчас представлена новая стабильная ветка nginx 1.20.0. По словам разработчиков, в нее вошли все изменения, которые ранее были накоплены в ветке 1.19.x. В новой ветке изменения будут связаны с ликвидацией серьезных ошибок и уязвимостей.

В ближайшее время разработчики сформируют основную ветку 1.21, которая будет получать новые возможности. Тем пользователям, кому не нужна совместимость со сторонними модулями, рекомендуется использовать основную ветку. На ее основе раз в квартал формируются выпуски коммерческого продукта Nginx Plus.

Немного статистики


Согласно данным компании Netcraft, nginx используется на 20,15% всех активных сайтов. Год назад этот показатель составлял 19,56%, два года назад 20,73%. Nginx находится на втором месте после Apache, доля которого составляет 25,38% (год назад 27,64%). На третьем месте находится Google с 10,09%, а на четвертом Cloudflare (8,51%).

Если учитывать все сайты, то nginx является лидером с 35,34% рынка. У Apache 25,98%, у OpenResty (платформа на базе nginx и LuaJIT.) 6.55%, Microsoft IIS 5.96%.

Если же оценивать использование nginx самыми посещаемыми сайтами в мире, то доля nginx составляет 25,55% (год назад 25,54%, два года назад 26,22%). Количество сайтов, которые работают под управлением nginx, составляет 419 млн. В России nginx используется на 79,1% самых посещаемых сайтов (год назад 78,9%).

Ну а теперь об изменениях


Новый релиз получил сразу несколько заметных улучшений:

  • Возможность проверки клиентских сертификатов с привлечением внешних служб на базе протокола OCSP (Online Certificate Status Protocol). Для включения проверки предложена директива ssl_ocsp, для настройки размера кэша ssl_ocsp_cache, для переопределения URL OCSP-обработчика, указанного в сертификате, ssl_ocsp_responder.
  • В состав новой версии вошел модуль ngx_stream_set_module, позволяющий присвоить значение переменной:

    server {        listen 12345;        set    $true 1;    }


  • Разработчики добавили директиву proxy_cookie_flags для указания флагов для Cookie в проксируемых соединениях.
  • Добавлены и директивы ssl_conf_command, proxy_ssl_conf_command, grpc_ssl_conf_command и uwsgi_ssl_conf_command, при помощи которых можно задать произвольные параметры для настройки OpenSSL. Так, при необходимости приоритизировать шифры ChaCha и выполнить расширенную настройку шифров TLSv1.3 можно указать:

   ssl_conf_command Options PrioritizeChaCha;   ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;

  • Еще одно важное обновление добавление директивы ssl_reject_handshake, которая предписывает отвергать все попытки согласования SSL-соединений (например, можно использовать для отклонения всех обращений с неизвестными именами хостов в поле SNI).

   server {        listen 443 ssl;        ssl_reject_handshake on;    }     server {        listen 443 ssl;        server_name example.com;        ssl_certificate example.com.crt;        ssl_certificate_key example.com.key;    }

  • В почтовый прокси вошла директива proxy_smtp_auth, которая дает возможность аутентифицировать пользователя на бэкенде при помощи команды AUTH и механизма PLAIN SASL.
  • Добавлена директива keepalive_time. Ее задача ограничение общего времени жизни каждого keep-alive соединения, по истечении которого соединение будет закрыто (не путать с директивой keepalive_timeout, определяющей время неактивности, после которого keep-alive соединение закрывается).
  • Появилась переменная $connection_time, через которую можно получить информацию о продолжительности соединения в секундах с миллисекундной точностью.
  • В уже имеющиеся директивы proxy_cache_path, fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path добавлен параметр min_free, регулирующий размер кэша на основе определения минимального размера свободного дискового пространства.
  • Директивы lingering_close, lingering_time и lingering_timeout адаптированы для работы с HTTP/2.
  • Разработчики также приблизили код обработки соединений в HTTP/2 к реализации HTTP/1.x. Поддержка отдельных настроек http2_recv_timeout, http2_idle_timeout и http2_max_requests прекращена в пользу общих директив keepalive_timeout и keepalive_requests. Удалены настройки http2_max_field_size и http2_max_header_size, вместо них нужно использовать large_client_header_buffers.
  • Появилась новая опция командной строки "-e". Она дает возможность указать альтернативный файл для записи лога ошибок, который будет использоваться вместо лога, заданного в настройках. Вместо имени файла можно указать специальное значение stderr.

Источник: habr.com
К списку статей
Опубликовано: 21.04.2021 14:19:32
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании selectel

Nginx

Серверное администрирование

Облачные сервисы

Релизы

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru