Repolode
alibaba

alibaba/tengine

Taobao発の高性能Webサーバー/リバースプロキシ。nginxと完全互換で、HTTP/3、Kubernetes Ingress、SM2/TLCPに対応。

スター
13,422
フォーク
2,508
未解決の Issue
510
最終コミット
2 か月前

これは何?

TengineはnginxをベースにしたWebサーバー兼リバースプロキシで、Taobao発のプロジェクトとしてTengineチームが保守しています。nginxとの完全な互換性を維持しながら、アクティブなupstreamヘルスチェック、ダウンタイムなしの動的設定、コンシステントハッシュやセッション維持など、負荷分散方式の追加といった、大規模な本番トラフィック向けの機能を備えています。

nginxの機能に加え、xquicを通じてHTTP/3(QUIC v1およびdraft-29)をサポートし、Tongsuo経由で中国のSM2/SM3/SM4アルゴリズムを使ったNTLS/TLCPにも対応します。Kubernetes Ingressとの連携は、別プロジェクトのtengine-ingressコントローラーが提供し、workerプロセスを再読み込みせずにルートやupstreamを変更できます。Luaスクリプト、CONNECTベースのフォワードプロキシ、Zstandard圧縮にも対応しています。

Tengineはソースコード、コンテナイメージ(DebianおよびAlpine)、主要なLinuxディストリビューション向けのrpm、deb、apkパッケージとして配布されています。各パッケージは、ディストリビューション標準のnginxと競合せずにインストールできます。

主な機能

  • 01nginxと完全互換で、その機能と設定を継承します。
  • 02xquic経由でHTTP/3(QUIC v1およびdraft-29)をサポートします。
  • 03Tongsuoを通じて、SM2/SM3/SM4アルゴリズムを使ったNTLS/TLCPに対応します。
  • 04Kubernetes向けのtengine-ingressを通じて、再読み込みなしでサーバー、location、upstreamを動的に設定できます。
  • 05upstreamサーバーのアクティブヘルスチェックに対応します。
  • 06Luaスクリプトと、フォワードプロキシ用のCONNECTメソッドをサポートします。

ユースケース

  • 本番環境のエッジリバースプロキシとしてnginxを置き換えたり、機能を拡張したりする。
  • 不安定なネットワーク上でHTTP/3トラフィックを配信する。
  • 動的ルーティングに対応したIngressコントローラーをKubernetes上で運用する。
  • SM2/TLCPの国家暗号標準を必要とするサービスをデプロイする。

クイックスタート

  1. 1

    Tengine のコンテナイメージを pull する

    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発の高性能Webサーバー/リバースプロキシ。nginxと完全互換で、HTTP/3、Kubernetes Ingress、SM2/TLCPに対応。 TengineはnginxをベースにしたWebサーバー兼リバースプロキシで、Taobao発のプロジェクトとしてTengineチームが保守しています。nginxとの完全な互換性を維持しながら、アクティブなupstreamヘルスチェック、ダウンタイムなしの動的設定、コンシステントハッシュやセッション維持など、負荷分散方式の追加といった、大規模な本番トラフィック向けの機能を備えています。
tengine は無料で使えますか?ライセンスは?
tengine は BSD-2-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
tengine は今もメンテナンスされていますか?
半年以内に更新あり。tengine の最終コミットは 2026年9月7日 です。
tengine は何に使えますか?
本番環境のエッジリバースプロキシとしてnginxを置き換えたり、機能を拡張したりする。 不安定なネットワーク上でHTTP/3トラフィックを配信する。 動的ルーティングに対応したIngressコントローラーをKubernetes上で運用する。 SM2/TLCPの国家暗号標準を必要とするサービスをデプロイする。
tengine のインストール方法は?
Tengine のコンテナイメージを pull する: 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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト