Cで書かれた、高性能なWebサーバー、リバースプロキシ、ロードバランサー、APIゲートウェイ、コンテンツキャッシュ。
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
Tengine のコンテナイメージを pull する
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発の高性能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 の数値は毎日更新されます。
関連プロジェクト
CaddyはGo製の拡張可能なWebサーバーで、HTTP/1.1、HTTP/2、HTTP/3を提供し、デフォルトでHTTPSを自動的に有効化します。
NGINXとetcdを基盤とする、高性能で動的なAPIゲートウェイ。ルーティング、認証、レート制限、AI/LLM通信に対応。
HAProxyは、TCPおよびHTTPアプリケーション向けの高速なフリーのリバースプロキシ兼ロードバランサーで、高可用性とトラフィック分散を実現します。
コンパクトな設定、自動TLS、ログと紐づくリクエスト単位のトレースを備えた、静的サイト配信とリバースプロキシ向けのRust製Webサーバー。
nginxのリバースプロキシをWeb GUIで管理できるnginx-proxy-managerのフォーク。HTTP/3、CrowdSec、強化されたTLSとmTLSに対応し、Dockerイメージとして提供されます。