Выпуск 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 прочитано 2936 раз