Nginx を https サーバーのロード バランサーとしてセットアップしようとしています。アップストリームは、SSL 証明書が構成されたポート 443 を介してサービスを提供します。SSL証明書の構成がNginxサーバーではなくアップストリームサーバーでのみ処理されるように、Nginxを構成する方法は?
3 に答える
アップストリーム モジュールとリバース プロキシ モジュールを使用する必要があります。https アップストリームへのリバース プロキシには、これを使用します。
proxy_pass https://backend;
ここで、backend はアップストリーム ブロックです。
ただし、これを行う場合は、nginx サーバーで ssl を終了し、アップストリーム アプリ サーバーが得意なことを行うようにします。つまり、ssl 暗号化/復号化のオーバーヘッドを心配する代わりに、コンテンツを提供します。nginx での SSL ターミネーションの設定も、SSL モジュールを使用すると非常に簡単です。非常に優れたケース スタディもここで提供されます。
Nginxフォーラムで関連する議論を読んで理解した限りでは、Nginxは上流のSSL接続を終了する必要があるため、これは不可能です。Nginx の使用を主張する場合は、SSL 構成を複製し、証明書とキーを Nginx で使用できるようにするだけです。
私がリンクした議論は、HAProxy が SSL アップストリーム パススルーのためのはるかに優れたツールであると結論付けました。これは、そのような目的で HAProxy を構成することについて私が見つけた関連記事です。私は HAProxy の経験がまったくないため、その構成やソリューションの一般的な実行可能性を要約することはできず、読者に任せています。
アップデート
1.9.2 以降、Nginx は HAProxy のプロキシ プロトコルをサポートしています。