現在のアプリケーションデプロイメントはHTTPポートでトラフィックを受信しており、NginxはそれをHTTPSにリダイレクトします。これは正常に動作しています。
現在、別のNginxサーバーがこれらの既存のNginxサーバー(別名アップストリーム)のロードバランサーのように機能することを計画しています。
以下は私が試していた構成です
upstream web_rack {
server x.x.x.x;
}
server {
location / {
proxy_pass https://web_rack;
}
}
しかし、502 Bad Gateway
以下のログのエラー:
2017/03/14 06:23:49 [エラー] 2402#2402:5 SSL_do_handshake()が失敗しました(SSL:エラー:140770FC:SSLルーチン:SSL23_GET_SERVER_HELLO:不明なプロトコル)へのSSLハンドシェイクアップストリーム、クライアント:189.166.35.243、サーバー:、要求: "GET/HTTP/1.0"、アップストリーム: " https:// xxxx:80 / "
前もって感謝します。
アップストリームまたはサーバーの設定に問題がある可能性があります。
エラーメッセージは、ポート80でアップストリームにhttpsを話そうとしていることを示しています:upstream: "https://x.x.x.x:80/"
。
次の質問はあなたの質問に関連しており、あなたがやろうとしていることと同じことを達成するための(ほぼ)機能する構成を提供します: アップストリームSSLでリバースプロキシとしてNginxを構成する 。
少なくとも、アップストリームを次のように修正することをお勧めします。
upstream web_rack {
server x.x.x.x:443;
}