Repolode
alibaba

alibaba/tengine

Высокопроизводительный веб-сервер и обратный прокси, созданный в Taobao: полностью совместим с nginx и поддерживает HTTP/3, Kubernetes Ingress и SM2/TLCP.

Звёзды
13,417
Форки
2,508
Открытые issues
510
Последний коммит
2 месяца назад

Что это?

Tengine — веб-сервер и обратный прокси на базе nginx, который развивает команда Tengine. Проект появился в Taobao. Он полностью совместим с nginx и дополняет его возможностями для обработки больших нагрузок в production: активной проверкой здоровья upstream-серверов, динамической конфигурацией без простоя и дополнительными алгоритмами балансировки, включая consistent hashing и сохранение сессий.

Помимо возможностей nginx, Tengine поддерживает HTTP/3 (QUIC v1 и draft-29) через xquic, а также NTLS/TLCP с китайскими алгоритмами SM2/SM3/SM4 через Tongsuo. Интеграция с Kubernetes Ingress реализована в отдельном контроллере tengine-ingress: с его помощью можно менять маршруты и upstream-серверы без перезагрузки рабочих процессов. Также доступны Lua-скрипты, проксирование запросов с методом CONNECT и сжатие Zstandard.

Tengine распространяется в виде исходного кода, образов контейнеров для Debian и Alpine, а также пакетов rpm, deb и apk для популярных дистрибутивов Linux. Пакеты устанавливаются рядом с nginx из дистрибутива, не конфликтуя с ним.

Ключевые возможности

  • 01Полная совместимость с nginx, включая его возможности и конфигурацию.
  • 02Поддержка HTTP/3 (QUIC v1 и draft-29) через xquic.
  • 03Поддержка NTLS/TLCP с алгоритмами SM2/SM3/SM4 через Tongsuo.
  • 04Динамическая настройка серверов, locations и upstream-серверов без перезагрузки — через tengine-ingress для Kubernetes.
  • 05Активная проверка здоровья upstream-серверов.
  • 06Поддержка Lua-скриптов и метода CONNECT для проксирования запросов.

Сценарии использования

  • Замена или расширение nginx в роли обратного прокси на границе production-инфраструктуры.
  • Обработка HTTP/3-трафика в нестабильных сетях.
  • Запуск Ingress-контроллера в Kubernetes с динамической маршрутизацией.
  • Развёртывание сервисов, которым требуются национальные криптографические стандарты SM2/TLCP.

Быстрый старт

  1. 1

    Загрузите образ контейнера Tengine

    docker pull ghcr.io/alibaba/tengine:latest
  2. 2

    Запустите контейнер и сопоставьте порт 8080 с портом 80 сервера

    docker run --rm -p 8080:80 ghcr.io/alibaba/tengine:latest

Что важно знать

  • Обычная сборка с помощью ./configure не включает Tongsuo (NTLS), xquic (HTTP/3) и Lua; для их включения нужны вспомогательные скрипты упаковки.
  • При обновлении с версии 3.1.0 или более ранней используются другие пути установки, поэтому после make install может продолжать работать старый бинарный файл nginx.

Темы

#web-server#reverse-proxy#nginx#http3#load-balancer#tls#kubernetes-ingress#forward-proxy#health-check#lua

Частые вопросы

Что такое tengine?
Высокопроизводительный веб-сервер и обратный прокси, созданный в Taobao: полностью совместим с nginx и поддерживает HTTP/3, Kubernetes Ingress и SM2/TLCP. Tengine — веб-сервер и обратный прокси на базе nginx, который развивает команда Tengine. Проект появился в Taobao. Он полностью совместим с nginx и дополняет его возможностями для обработки больших нагрузок в production: активной проверкой здоровья upstream-серверов, динамической конфигурацией без простоя и дополнительными алгоритмами балансировки, включая consistent hashing и сохранение сессий.
tengine можно использовать бесплатно? Какая у него лицензия?
tengine распространяется с открытым исходным кодом под лицензией BSD-2-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
tengine всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в tengine — 7 сент. 2026 г..
Для чего можно использовать tengine?
Замена или расширение nginx в роли обратного прокси на границе production-инфраструктуры. Обработка HTTP/3-трафика в нестабильных сетях. Запуск Ingress-контроллера в Kubernetes с динамической маршрутизацией. Развёртывание сервисов, которым требуются национальные криптографические стандарты SM2/TLCP.
Как установить tengine?
Загрузите образ контейнера Tengine: docker pull ghcr.io/alibaba/tengine:latest Запустите контейнер и сопоставьте порт 8080 с портом 80 сервера: docker run --rm -p 8080:80 ghcr.io/alibaba/tengine:latest
Где скачать tengine?
Исходный код и инструкции по установке — на GitHub: https://github.com/alibaba/tengine

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Caddy — расширяемый веб-сервер на Go, который поддерживает HTTP/1.1, HTTP/2 и HTTP/3 и по умолчанию автоматически включает HTTPS.

78,8 тыс.+262 за неделю5,2 тыс.GoApache-2.0Активно поддерживаетсяОбновлён 22 часа назад

Динамичный высокопроизводительный API-шлюз на базе NGINX и etcd с плагинами для маршрутизации, аутентификации, ограничения трафика и работы с AI/LLM.

17,3 тыс.+27 за неделю3 тыс.LuaApache-2.0Активно поддерживаетсяОбновлён вчера

Веб-сервер на Rust с компактной конфигурацией, автоматическим TLS и трассировкой запросов, связанной с логами; подходит для статических сайтов и обратных прокси.

2,2 тыс.+9 за неделю100RustMITОбновлён 21 час назад

HAProxy — бесплатный и быстрый reverse proxy и балансировщик нагрузки для TCP- и HTTP-приложений, обеспечивающий высокую доступность и распределение трафика.

7 тыс.+16 за неделю988COtherАктивно поддерживаетсяОбновлён 23 часа назад

Форк nginx-proxy-manager с веб-интерфейсом для настройки обратного прокси nginx, поддержкой HTTP/3, CrowdSec, усиленной защитой TLS и mTLS; поставляется в виде Docker-образа.

2,4 тыс.+7 за неделю123JavaScriptAGPL-3.0Активно поддерживаетсяОбновлён 21 час назад