Выпуск Angie 1.7.0, форка Nginx

Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.7.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Роса Хром Сервер, Альт и ФСТЭК-версии Альт.

Сопровождением разработки занимается компания “Веб-сервер”, образованная осенью 2022 года и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов ([email protected]).

Изменения в Angie 1.7.0:

  • Добавлены директивы proxy_connection_drop,grpc_connection_drop, fastcgi_connection_drop,scgi_connection_drop и uwsgi_connection_drop для принудительного закрытия всех соединений к проксиуемому серверу после его исключения из группы.
  • В статистику, включаемую через параметр status_zone в директиве resolver, добавлены счётчики отправленных DNS-запросов.
  • Добавлена переменная $ssl_server_cert_type, содержащая тип выбранного сертификата TLS-соединения.
  • В директиву pid добавлена возможность отключения создания PID-файла при указании параметра “off” вместо имени файла. При переконфигурации прекращено повторное создание pid-файла, если его имя было изменено в директиве pid, но значение является символической ссылок на тот же файл. Перенесено из freenginx.
  • Запись в лог ошибок об отправке в Syslog ограничена одним сообщением в секунду для защиты от заполнения лога типовыми сообщениями в случае перегрузки или отключения syslog-сервера. Перенесено из freenginx.
  • Для усиления защиты от DoS-атак в модуле proxy предоставлена возможность использования директивы max_commands для ограничения максимального числа команд, принимаемых в процессе аутентификации. Перенесено из freenginx.
  • В сборочный скрипт ./configure добавлена опция “–feature-cache” для кэширование результатов при сборке нескольких модулей.
  • Описание кодов состояния HTTP приведено к соответствию RFС 9110. Перенесено из freenginx.
  • Для улучшения защиты от DoS-атак до HTTP-запроса разрешена передача не более одной пустой строки. Запрещена передача имён полей заголовков HTTP/1.x без указания двоеточия. Перенесено из freenginx.
  • Для улучшения защиты от DoS-атак размер читаемых данных тела запроса при использовании chunked-режима HTTP/1.1, а также общий размер игнорируемых полей заголовка ограничивается директивой client_max_body_size. Перенесено из freenginx.
  • В файле mime.types MIME-тип для файлов с расширением bmp изменён на image/bmp, а для файлов с расширением rar – на application/vnd.rar.
  • Из репозитория проекта nginx перенесены изменения, предложенные в версии nginx 1.27.1. Обновлены модули angie-module-opentracing 0.36.0 и angie-module-lua 0.10.27.
Release. Ссылка here.