После года разработки новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера , которая вобрала в себя изменения, накопленные в рамках основной ветки 1.15.x. В дальнейшем все изменения в стабильной ветке 1.16 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.17, в рамках которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.
Наиболее заметные улучшения, добавленные в процессе формирования основной ветки 1.15.x:
- Добавлена возможность использования переменных в директивах ‘‘ и ‘‘, что можно использовать для динамической загрузки сертификатов;
- Добавлена возможность загрузки SSL-сертификатов и секретных ключей из переменных без использования промежуточных файлов;
- В блоке «» реализована новая директива ««, при помощи которой можно организовать балансировку нагрузки со случайным выбором сервера для проброса соединения;
- В модуле реализована переменная ,
которая определяет наибольшую версию протокола SSL/TLS, которую поддерживает клиент. Переменная позволяет для доступа с использованием различных протоколов с SSL и без SSL через один сетевой порт при проксировании трафика с использованием модулей http и stream. Например, для организации доступа по SSH и HTTPS через один порт 443 порт по умолчанию можно пробрасывать на SSH, но если определена версия SSL пробрасывать на HTTPS. - В модуль upstream добавлена новая переменная ««, которая отображает число байт, переданных на сервер группы;
- В модуль в рамках одного сеанса добавлена возможность обработки нескольких входящих UDP-датаграмм от клиента;
- В модуль stream добавлена директива ««, задающее число датаграмм, полученных от клиента, по достижении которого удаляется привязка между клиентом и существующей UDP-сессией. После получения указанного количества датаграмм следующая датаграмма, полученная от того же клиента, начинает новую сессию;
- В директиве listen появилась возможность указания диапазонов портов;
- Добавлена директива «» для включения режима при использовании TLSv1.3, который позволяет сохранить ранее согласованные параметры TLS-соединения и снизить до 2 число RTT при возобновлении ранее установленного соединения;
- Для настройки keepalive для исходящих соединений (включения или выключения опции SO_KEEPALIVE для сокетов) добавлены новые директивы:
- «» — конфигурирует поведение «TCP keepalive» для исходящих соединений к проксируемому серверу;
- «» — конфигурирует поведение «TCP keepalive» для исходящих соединений к FastCGI-серверу;
- «» — конфигурирует поведение «TCP keepalive» для исходящих соединений к gRPC-серверу;
- «» — конфигурирует поведение «TCP keepalive» для исходящих соединений к серверу memcached;
- «» — конфигурирует поведение «TCP keepalive» для исходящих соединений к SCGI-серверу;
- «» — конфигурирует поведение «TCP keepalive» для исходящих соединений к uwsgi-серверу.
- В директиву « добавлен новый параметр «delay», задающий лимит, по достижении которого избыточные запросы задерживаются;
- В блок «upstream» добавлены новые директивы «keepalive_timeout» и «keepalive_requests» для задания лимитов для Keepalive;
- Объявлена устаревшей директива «ssl», на смену которой пришёл параметр «ssl» в директиве «listen». Определение отсутствующих SSL-сертификатов теперь производится на этапе тестирования конфигурации при использовании в настройках директивы «listen» с параметром «ssl»;
- При использовании директивы reset_timedout_connection при истечении таймаута соединения теперь закрываются с применением кода 444;
- SSL-ошибки «http request», «https proxy request», «unsupported protocol» и «version too low» теперь отображаются в логе с уровнем «info» вместо «crit»;
- Добавлена поддержка метода poll на системах Windows при использовании Windows Vista и новее;
- Обеспечена возможность использования при сборке с библиотекой BoringSSL, а не только с OpenSSL.
Источник: opennet.ru
