Repolode
alibaba

alibaba/tengine

源自淘宝的高性能 Web 服务器与反向代理,兼容 nginx,并增加 HTTP/3、Kubernetes Ingress 等能力。

Star
13,421
Fork
2,508
未关闭 Issue
510
最近提交
2个月前

这是什么?

Tengine 是基于 nginx 构建的 Web 服务器和反向代理,由最初源自淘宝的 Tengine 团队维护。它保持与 nginx 完全兼容,同时增加了面向大规模生产流量的功能,例如主动的上游健康检查、无需停机的动态配置,以及一致性哈希、会话保持等更多负载均衡方式。

在 nginx 基础上,Tengine 通过 xquic 支持 HTTP/3(QUIC v1 与 draft-29),并通过 Tongsuo 支持基于 SM2/SM3/SM4 国密算法的 NTLS/TLCP。Kubernetes Ingress 集成由独立的 tengine-ingress 控制器提供,可在不重载工作进程的情况下修改路由和上游。此外还包括 Lua 脚本、CONNECT 方法的正向代理以及 Zstandard 压缩。

项目提供源码、容器镜像(Debian 与 Alpine),以及适用于主流 Linux 发行版的 rpm、deb、apk 安装包。安装包可与发行版自带的 nginx 并存,互不冲突。

核心功能

  • 01与 nginx 完全兼容,继承其功能和配置方式。
  • 02通过 xquic 支持 HTTP/3(QUIC v1 与 draft-29)。
  • 03通过 Tongsuo 支持 NTLS/TLCP 及 SM2/SM3/SM4 国密算法。
  • 04配合 tengine-ingress 在 Kubernetes 中动态修改 server、location 和 upstream,无需重载。
  • 05支持对上游服务器进行主动健康检查。
  • 06支持 Lua 脚本扩展,以及用于正向代理的 CONNECT 方法。

适用场景

  • 在生产环境中替代或扩展 nginx,作为边缘反向代理。
  • 在网络不稳定的环境中提供 HTTP/3 服务。
  • 在 Kubernetes 中配合动态路由运行 Ingress 控制器。
  • 部署需要 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 是什么?
源自淘宝的高性能 Web 服务器与反向代理,兼容 nginx,并增加 HTTP/3、Kubernetes Ingress 等能力。 Tengine 是基于 nginx 构建的 Web 服务器和反向代理,由最初源自淘宝的 Tengine 团队维护。它保持与 nginx 完全兼容,同时增加了面向大规模生产流量的功能,例如主动的上游健康检查、无需停机的动态配置,以及一致性哈希、会话保持等更多负载均衡方式。
tengine 可以免费使用吗?用的什么许可证?
tengine 以 BSD-2-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
tengine 还在维护吗?
半年内有更新。tengine 最近一次提交是在 2026年9月7日。
tengine 适合用来做什么?
在生产环境中替代或扩展 nginx,作为边缘反向代理。 在网络不稳定的环境中提供 HTTP/3 服务。 在 Kubernetes 中配合动态路由运行 Ingress 控制器。 部署需要 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目