おそらく本当に基本的な何かが欠けているのでしょうが、DigitalOcean ロード バランサーを使用して、Apache サーバー (WordPress サイトを提供) を SSL 用に構成しようとしばらく試みてきました。
ロード バランサは証明書を保持し、ポート 80 の http アクセスを https 443 にリダイレクトすることになっていますが、問題は Apache が 400 と文字列 "\x16\x03\x01" で応答することです。
私の調査によると (間違っているかもしれません。ご指摘があれば遠慮なく)、これは Apache が SSL ハンドシェイクをしようとしているためであり、そのためには SSLEngine ディレクティブを有効にする必要がありますが、そうすると「<my_domain> の少なくとも 1 つの証明書とキーを構成できませんでした:443」というエラーが発生します。
これは、SSLCertificateFile および SSLCertificateKeyFile ディレクティブを追加していないためだと理解していると思います。ロード バランサーから証明書が読み取られることを期待していましたが、どうやらそうではないようです。また、Apache のドキュメントには、これを行うためのディレクティブは見当たりません。
Apache をリバース プロキシとして設定する方法についてはオンラインでたくさんありますが、プロキシ/ロード バランサーから接続する方法については何も見つけることができませんでした。
ご協力いただければ幸いです。状況を明確にするために、スクリーンショットをいくつか追加します。
答え1
私は、Apache に自己署名証明書を追加することでこれを機能させることができました。これが最良または最もエレガントな方法であるかどうかはわかりませんが、クライアントのバランサー証明書を保持でき (自動更新されるようにしたい)、サーバーで再度構成する必要がない唯一の方法です。
私の理解では、LB とサーバー間の通信は VPC 上で行われ、自己署名証明書を使用しても SSL で暗号化されるため、セキュリティ上の問題は発生しません。
これを改善するための提案があれば歓迎します。将来誰かの役に立つかもしれないと思い、投稿します。