Высокопроизводительный веб-сервер, обратный прокси, балансировщик нагрузки, API-шлюз и кэш контента, написанный на C.
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
Загрузите образ контейнера Tengine
docker pull ghcr.io/alibaba/tengine:latest - 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.
Темы
Частые вопросы
- Что такое 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.
Динамичный высокопроизводительный API-шлюз на базе NGINX и etcd с плагинами для маршрутизации, аутентификации, ограничения трафика и работы с AI/LLM.
Веб-сервер на Rust с компактной конфигурацией, автоматическим TLS и трассировкой запросов, связанной с логами; подходит для статических сайтов и обратных прокси.
HAProxy — бесплатный и быстрый reverse proxy и балансировщик нагрузки для TCP- и HTTP-приложений, обеспечивающий высокую доступность и распределение трафика.
Форк nginx-proxy-manager с веб-интерфейсом для настройки обратного прокси nginx, поддержкой HTTP/3, CrowdSec, усиленной защитой TLS и mTLS; поставляется в виде Docker-образа.