NGINX は、非常に高性能な Web サーバーとして正当な名声を得ています。 NGINX はリバース プロキシとしても使用できることは多くの人が認識していると思いますが、それがどれほど強力なリバース プロキシであるかを認識していないかもしれません。
まず、少し立ち止まって、「プロキシ サーバーとは何なのか」を考えてみましょう。 Wikipedia には良い定義があると思います:
したがって、プロキシ サーバーは、クライアントと、クライアントが探しているデータをホストする実際のサーバーの間に配置されます。 クライアントにとっては、プロキシ サーバーは実際のバックエンド サーバーのように見え、バックエンド サーバーにとっては、プロキシ サーバーはクライアントのように見えます。 リバース プロキシ サーバーを定義するには、 Wikipediaに戻ります。
違いは、プロキシ サーバーはクライアントと 1 つのバックエンド サーバーの間に配置されますが、リバース プロキシ サーバーは 1 つ以上のバックエンド サーバーの前に配置され、各要求に対してどのバックエンド サーバーを使用するかを決定することです。
リバース プロキシ サーバーを使用する理由は何でしょうか? 次のような多くの利点があります:
NGINX Plus は、NGINX Open Source の定評ある Web サーバー機能にさらに多くの機能を導入し、NGINX Plus を独自のハードウェア アプライアンスに代わるフル機能のアプリケーション配信コントローラー (ADC) にします。
以下は、NGINX Plus で利用できる機能の一部です。
重み付けありと重み付けなしの両方を含む複数の負荷分散アルゴリズムから選択できます。 セッションの永続性もサポートされています。 NGINX Plus は、HTTP、HTTPS、WebSocket、FastCGI、memcached、SCGI、SPDY [NGINX Plus も負荷分散する HTTP/2 によって廃止されました]、および uwsgi を負荷分散できます。 続きを読む。
バックエンド サーバーの健全性のパッシブ監視とアクティブ監視の両方がサポートされています。 NGINX Plus がノードに接続できない場合、そのノードはダウンとしてマークされます。 アクティブ ヘルス チェックをバックエンド ノードに対して定期的に実行するように構成することもできます。 さらに、スロースタート機能を使用すると、NGINX Plus はオンラインになったばかりのノードへのトラフィックを徐々に増加させ、大量のトラフィックの集中による過負荷を回避することができます。 続きを読む。
トラフィックは、クライアント IP アドレス、ホスト名、URI、クエリ文字列、ヘッダーなど、リクエストの任意の部分に基づいてルーティングできます。
ヘッダー、本文、URI など、リクエストまたはレスポンスの任意の部分を変更できます。NGINX Plus では、ヘッダーを追加および削除することもできます。 続きを読む。
応答はキャッシュすることができ、キャッシュするコンテンツの種類と期間を設定できます。 キャッシュからアイテムを消去することもできます。 続きを読む。
Gzip 圧縮がサポートされており、圧縮するコンテンツと圧縮を使用するタイミングを細かく制御できます。 続きを読む。
SSL/TLS の復号化と暗号化がサポートされており、さまざまな証明書を使用して多数のドメイン名の復号化を行うことができます。 続きを読む。
JSON 形式でエンコードされた NGINX Plus 統計は、単純な HTTP リクエストを介して利用できます。 統計情報を表示するためのダッシュボード Web ページが用意されており、カスタムまたはサードパーティの監視ツールに統計情報をフィードすることもできます。カスタム形式のログは、ローカル ログと syslog へのエクスポートの両方に対して構成できます。 続きを読む。
NGINX には、ビデオ ストリーミングのサポート、メール プロキシのサポート、GeoIP のサポート、ダウンタイムのない正常な再起動とアップグレード、トラフィック シェーピング、接続制限など、他にも多くの機能があります。 詳細については、 nginx.comおよびnginx.orgをご覧ください。
「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"