NginX (ロード バランサー) が 443 でトラフィックを受け入れ、負荷分散された Web サーバー ノードのポート 443 に転送する方法を知りたいです。
NginXレベルでSSLターミネーションが発生するロードバランサーとしてNginXを使用しています。そして、NginX は暗号化されていないトラフィックをポート 80 で Web サーバーに送信します。
これは私の現在のngnx構成です:
upstream appserver {
server 10.0.1.132;
server 10.0.1.243;
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/nginx/cert.pem;
ssl_certificate_key /etc/nginx/cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://appserver;
}
}
私は行ってきました:アップストリームSSLを使用したNginxロードバランス
私の本当の問題は、NginX に 443 でトラフィックをリッスンさせたい場合は、nignx で ssl ターミネーションを構成する必要があることです。そうしないと、nginx サービスが開始されず、ssl 証明書/キーが見つからないというエラーが表示されます。
要するに、Nginx が単純に 443 でトラフィックを受け入れ、それを負荷分散された Web サーバー ノードの 443 に転送するようにしたいのです。次に、Web サーバーに SSL の機能を実行させます。
ベスト プラクティスは、ロード バランサー レベルで SSL オフロードを行うことですが、それ以外の方法で行いたいと考えています。
ありがとう。