Ubuntu
でApache2
(443でリッスン)とTomcat7
(8443でリッスン)で実行されているWebアプリがあります。
8443の代わりにポート443を介してWebアプリにアクセスするように、Apache2をリバースプロキシとして設定します。さらに、ブラウザーとApache2の間だけでなく、Apache2とTomcat7の間でもSSL通信が必要です。 。 Tomcat7に直接連絡してWebアプリにアクセスしようとしても、すべて問題ありません。問題は、Apache2(リバースプロキシ)を介してTomcatのWebアプリにアクセスしようとすると、ブラウザーに次のエラーが表示されることです。
Proxy Error
The proxy server could not handle the request GET /web_app.
Reason: Error during SSL Handshake with remote server
MKのコメントは、正しい方向を示してくれました。
Apache 2.4以降の場合、異なるデフォルトと新しいディレクティブがあります。
Apache 2.4.6を実行していますが、動作させるために次のディレクティブを追加する必要がありました。
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
Docker、リバースプロキシおよびWebサーバーに2つのサーバーをセットアップしています。このエラーは、1年後に突然すべてのWebサイトで発生し始めました。以前のセットアップ時に、Webサーバーで自己署名証明書を生成しました。
そのため、SSL証明書を再度生成する必要があり、機能し始めました...
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt
OPと同じ問題に直面しました:
Tomcat SSL証明書の有効期限が切れましたが、ブラウザーで安全であることが示されました-Apache証明書は有効期限にはほど遠い状態でした。 Tomcat KeyStoreファイルを更新すると、問題が解決しました。