Выпуск Angie 1.6.0, российского форка Nginx
Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.6.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Роса Хром Сервер, Альт и ФСТЭК-версии Альт.
Сопровождением разработки занимается компания «Веб-сервер», образованная осенью 2022 года и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов (ru@FreeBSD.org).
Изменения в Angie 1.6.0:
- В модуль stream добавлена директива «sticky», которую можно использовать в блоке upstream для привязки всех соединений в сеансе к одному серверу при балансировке TCP- и UDP-потоков.
map $ssl_preread_server_name $route { a.example.com a; b.example.com b; default ""; } upstream backend { server 127.0.0.1:8081 sid=a; server 127.0.0.1:8082 sid=b; sticky route $route; }
- Добавлена поддержка извлечения значений Cookie из соединений по протоктлу RDP, используя директиву «rdp_preread» в модуле stream. Cookie будут записаны в переменные $rdp_cookie и $rdp_cookie_NAME, которые можно отразить в логе или использовать для привязки клиентского сеанса RDP к одному серверу при балансировке нагрузки.
upstream rdp { hash $rdp_cookie_mstshash; # ... }
Добавлены опции командной строки »-m» и »-M» для вывода списка встроенных и загруженных модулей.
В модуле http_acme, предназначенном для автоматизации получения и обновления сертификатов с использованием протокола ACME (Automatic Certificate Management Environment, применяется удостоверяющим центром Let«s Encrypt), реализована возможность сборки с криптографической библиотекой BoringSSL.
- Разрешено указание нескольких директив «acme» в блоке «server», что позволяет настроить привязку к одному виртуальному серверу сразу нескольких типов сертификатов.
server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate $acme_cert_rsa; ssl_certificate_key $acme_cert_key_rsa; ssl_certificate $acme_cert_ecdsa; ssl_certificate_key $acme_cert_key_ecdsa; acme rsa; acme ecdsa; }
Из репозитория проекта nginx перенесены изменения, накопившиеся в nginx 1.27, например, добавлен новый модуль ngx_stream_pass_module (для проброса принятых соединений напрямую в любой слушающий сокет, связанный с такими модулями, как http, stream и mail), а в модуль stream добавлена поддержка виртуальных серверов, конфигурация которых определяется в блоке «server { … }» при помощи директивы server_name.
Добавлена опция «persistent», позволяющая не ждать прохождения обязательных проверок состояния серверов после перезагрузки конфигурации, если ранее сервер уже был проверен.
Представлен новый метод балансировки «feedback», который распределяет нагрузку по HTTP-серверам на основе метрик, полученных в ответе от проксируемого сервера или внешнего сервиса, что позволяет при балансировке учитывать такие параметры, как нагрузка на CPU, объем свободной памяти и состояние очередей ожидания.
Источник: http://www.opennet.ru/opennews/art.shtml? num=61458
© OpenNet