web-dev-qa-db-ja.com

リモートサーバーとのSSLハンドシェイク中のエラー

UbuntuApache2(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
98
user2791481

MKのコメントは、正しい方向を示してくれました。

Apache 2.4以降の場合、異なるデフォルトと新しいディレクティブがあります。

Apache 2.4.6を実行していますが、動作させるために次のディレクティブを追加する必要がありました。

SSLProxyEngine on
SSLProxyVerify none 
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
218
mydoghasworms

Docker、リバースプロキシおよびWebサーバーに2つのサーバーをセットアップしています。このエラーは、1年後に突然すべてのWebサイトで発生し始めました。以前のセットアップ時に、Webサーバーで自己署名証明書を生成しました。

そのため、SSL証明書を再度生成する必要があり、機能し始めました...

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt

2
Rehmat

OPと同じ問題に直面しました:

  • SOAP UIから直接アクセスすると、Tomcatが応答を返しました
  • HTMLファイルをロードしませんでした
  • 前の回答で言及されたApacheプロパティを使用すると、Webページが表示されましたが、AngularJSはHTTP応答を取得できませんでした

Tomcat SSL証明書の有効期限が切れましたが、ブラウザーで安全であることが示されました-Apache証明書は有効期限にはほど遠い状態でした。 Tomcat KeyStoreファイルを更新すると、問題が解決しました。

1
Justas