NGINX と NGINX Plus は、ほとんどの SSL/TLS 要件を処理できるようにするさまざまな機能を提供します。 OpenSSL と標準プロセッサ チップのパワーを使用して、コスト効率の高い SSL/TLS パフォーマンスを提供します。 標準プロセッサ チップの性能が向上し続け、チップ ベンダーが暗号化アクセラレーションのサポートを追加するにつれて、専用の SSL/TLS チップよりも標準プロセッサ チップを使用するコスト上の利点も拡大し続けます。
SSL/TLS を使用した NGINX およびNGINX Plusには、主に 3 つの使用例があります。
NGINX をプロキシとして使用すると、バックエンド サーバーから SSL 復号化処理をオフロードできます。 プロキシで復号化を行うことには、いくつかの利点があります。
詳細については、NGINX Plus 管理者ガイドの「NGINX SSL 終了」を参照してください。
バックエンド サーバーに送信するトラフィックを NGINX で暗号化する必要がある場合があります。 これらのリクエストは、プレーンテキストとして、またはルーティングの決定を行うために NGINX が復号化する必要がある暗号化されたトラフィックとして NGINX サーバーに到着する可能性があります。 バックエンド サーバーへのキープアライブ接続のプールを使用すると、SSL/TLS ハンドシェイクの数が最小限に抑えられ、SSL/TLS のパフォーマンスが最大化されます。 これは、NGINX を「https」にプロキシするように構成し、まだ暗号化されていないトラフィックを自動的に暗号化することで非常に簡単に実現できます。
NGINX は復号化と暗号化の両方を実行できるため、NGINX がレイヤー 7 のルーティング決定を行いながら、すべてのリクエストのエンドツーエンドの暗号化を実現できます。 この場合、クライアントは HTTPS 経由で NGINX と通信し、リクエストを復号化してから再暗号化してからバックエンド サーバーに送信します。 これは、プロキシ サーバーがバックエンド サーバーと同じデータ センターに配置されていない場合に望ましい場合があります。 クラウドに移行するサーバーが増えるにつれて、プロキシとバックエンド サーバーの間で HTTPS を使用する必要性が高まっています。
NGINX はSSL/TLS クライアント証明書を処理でき、証明書をオプションまたは必須にするように構成できます。 クライアント証明書は、パスワードを必要とせずに、事前に承認されたクライアントのみにシステムへのアクセスを制限する方法であり、失効した証明書を証明書失効リスト(CRL) に追加することで証明書を制御できます。NGINX は、クライアント証明書がまだ有効かどうかを判断するために、このリストをチェックします。
これらのユースケースをサポートする他の機能は、次のものを含みますが、これらに限定されません。
詳細については、次のリソースを参照してください。
NGINX のセキュリティ機能の例をいくつか紹介します。 これらの例では、NGINX 構成の基本的な理解を前提としています。
次の構成は、 www.example.comの HTTP トラフィックを処理し、それをアップストリーム グループにプロキシします。
アップストリーム バックエンド {
サーバー 192.168.100.100:80;
サーバー 192.168.100.101:80;
}
サーバー {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://backends;
}
}
ここで、HTTPS サポートを追加します。これにより、NGINX は証明書と秘密キーを使用してトラフィックを復号化し、HTTP 経由でバックエンド サーバーと通信します。
アップストリームバックエンド { server 192.168.100.100:80; server 192.168.100.101:80; } server { listen 80; listen 443 ssl ; # 'ssl' パラメータは NGINX にトラフィックを復号化するように指示します server_name www.example.com; ssl_certificate www.example.com.crt ; # 証明書ファイルssl_certificate_key www.example.com.key ; # 秘密鍵ファイルの場所 / { proxy_pass http://backends; } }
または、代わりに HTTP 経由でトラフィックを受信し、それを HTTPS 経由でバックエンド サーバーに送信する場合:
アップストリームバックエンド { server 192.168.100.100:443; server 192.168.100.101:443; } server { listen 80; server_name www.example.com; location / { proxy_pass https ://backends; # 'https' プレフィックスは NGINX にトラフィックを暗号化するように指示します } }
NGINX Plus をお試しいただくには、今すぐ30 日間の無料トライアルを開始するか、弊社にお問い合わせの上、使用事例についてご相談ください。
「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"