[ON] Релиз nginx 1.14.0

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6026
ОС: gnu/linux

[ON] Релиз nginx 1.14.0

Сообщение rssbot » 17.04.2018 19:39

После года разработки представлена новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.14.0, которая вобрала в себя изменения, накопленные в рамках основной ветки 1.13.x. В дальнейшем все изменения в стабильной ветке 1.14 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.15, в рамках которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.

В соответствии с мартовским отчетом компании Netcraft nginx используется на 23.76% (год назад 19.55%, два года назад 16.81%) всех активных сайтов, что соответствует второму месту по популярности в данной категории (доля Apache соответствует 43.03%, Google - 7.71%, а Microsoft IIS - 6.75%). Доля nginx среди всех сайтов составляет 23.11% (год назад 19.91%, два года назад 13.23%), среди миллиона самых посещаемых сайтов в мире - 23.76% (год назад 25.64%, два года назад 21.43%). В настоящее время под управлением nginx работает около 409 млн сайтов (год назад 350 млн). По данным W3Techs 38.0% из миллиона самых посещаемых сайтов в мире используют nginx, в апреле прошлого года этот показатель составлял 33.3%, позапрошлого - 29.8%. Доля Apache за год снизилась с 50% до 46.7%, а доля Microsoft IIS с 11.3% до 9.9%. В России nginx используется на 78.9% самых посещаемых сайтов (год назад - 76.9%).

Из ключевых улучшений nginx 1.14.0 отмечается модуль mirror, поддержка протокола TLSv1.3, поддержка HTTP/2 push и модуль с реализацией gRPC-прокси. Наиболее заметные улучшения, добавленные в процессе формирования основной ветки 1.13.x:
  • Реализован механизм Server Push для протокола HTTP/2, который предоставляет возможность отправки ресурсов от сервера к клиенту, не дожидаясь их явного запроса (например, подобным образом можно передавать файлы CSS, скрипты и изображения, которые необходимы для отрисовки страницы).Для отправки push-запросов используется уже установленное клиентом сое динение. Т.е. клиент подключается и запрашивает определённую страницу, после этого сервер на основании своих настроек или содержимого переданного клиентом заголовка Link сам инициирует передачу определённых ресурсов через уже установленное соединение HTTP/2, не дожидаясь запроса этих ресурсов от клиента;
  • Добавлена поддержка протокола TLSv1.3. Для включения в директиве "ssl_protocols" следует указать параметр "TLSv1.3". Протокол поддерживается только в предстоящей версии OpenSSL 1.1.1;
  • Для соединений с бэкендами разрешено повторное согласование SSL-соединения;
  • Новые модули:
    • ngx_http_grpc_module с реализацией прокси для протокола gRPC, позволяющего организовать работу микросервисов на различных языках программирования, которые взаимодействуют между собой при помощи универсального API. Сетевое взаимодействие в gRPC реализовано поверх протокола HTTP/2 и базируется на применении Protocol Buffers для сериализации данных. Модуль даёт возможность управлять потоками gRPC, выделяя отдельные сервисы и методы. Например, появляется возможность маршрутизировать gRPC по разным бэкендам, в зависимости от запрошенной операции, блокировать или ограничивать интенсивность определённых вызовов, инспектировать трафик gRPC или организовывать балансировку нагрузки;
    • ngx_http_mirror_module, позволяющий зеркалировать поступающие запросы на другие серверы. Клиенту возвращается результат обработки запроса от основного обработчика, а результаты, возвращённые зеркалируемыми бэкендами, игнорируются. При помощи зеркалирования можно достаточно просто организовать работу синхронно обновляемого резервного сервера для таких сайтов, как web-форумы;
  • Изменения в директивах:
    • Через параметр proxy_protocol в директиве listen теперь можно включить вторую версию протокола PROXY;
    • В реализацию SSI-директивы "include" добавлена возможность использования параметра "set" для сохранения в переменную содержимого произвольных ответов. Максимальный размер ответа ограничивается значением директивы "subrequest_output_buffer_size";
    • В директиву "log_format" добавлен параметр "escape=none" для отключения экранирования символов при записи в лог;
    • В директиву set_real_ip_from в качестве параметра добавлена возможность указывать имя хоста;
    • Добавлена поддержка использования директив return и error_page для возврата перенаправлений для запросов с HTTP кодом 308;
  • Изменения в модулях:
    • В модуле ngx_stream_ssl_preread_module реализована переменная $ssl_preread_alpn_protocols;
    • В модуле ngx_http_headers реализована директива "add_trailer", через которую можно определить дополнительное поле, которое будет добавлено в конец ответа, если код ответа равен 200, 201, 206, 301, 302, 303, 307 или 308;
    • В модулях mail_proxy и stream в директиве "listen" появились поддержка параметров "rcvbuf" и "sndbuf", позволяющих настроить размер буфера приёма (параметр SO_RCVBUF) и передачи (параметр SO_SNDBUF);
  • Разное:
    • Представлена переменная $ssl_client_escaped_cert, в которой сохраняется SSL-сертификат в экранированном однострочном представлении URL-encoded, что позволяет сразу использовать данный сертификат в параметрах HTTP-запросов и в заголовках;
    • Улучшено определение размера кэша процессора;
    • Внесены исправления в обработку дат до 1970 года и после 10000 года;
    • Улучшена поддержка платформы Windows: налажена работа чистки кэша в соответствии с лимитом, заданным через параметр "max_size", решены проблемы с выделением разделяемой памяти, обеспечена работа директивы "ssl_session_ticket_key" и параметра "include" директивы "geo";
    • При отражении в логе сигналов в лог теперь записывается и PID процесса, отправившего сигнал.


Источник: https://www.opennet.ru/opennews/art.shtml?num=48454
(opennet.ru, основная лента)
Спасибо сказали: