Ошибка во время установления SSL-соединения с удаленным сервером

У меня есть Apache2 (прослушивание на 443) и веб-приложение, работающее на Tomcat7 (прослушивание 8443) на Ubuntu.

Я установил apache2 как обратный прокси-сервер, чтобы получить доступ к веб-приложению через порт 443 вместо 8443. Кроме того, мне нужно иметь связь SSL не только между браузером и apache2, но также между apache2 и tomcat7, поэтому я устанавливаю SSL на обоих apache2 и tomcat7. Если я попытаюсь получить доступ к веб-приложению, напрямую связавшись с tomcat7, все будет в порядке. Проблема в том, что когда я пытаюсь получить доступ к веб-приложению tomcat через apache2 (обратный прокси), в браузере появляется ошибка:

Proxy Error
The proxy server could not handle the request GET /web_app.
Reason: Error during SSL Handshake with remote server

Ответ 1

Комментарий М.К. указал мне в правильном направлении.

В случае Apache 2.4 и выше существуют разные значения по умолчанию и новая директива.

Я запускаю Apache 2.4.6, и мне пришлось добавить следующие директивы, чтобы заставить его работать:

SSLProxyEngine on
SSLProxyVerify none 
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

Ответ 2

Столкнулась с той же проблемой, что и OP:

  • Tomcat возвратил ответ при обращении напрямую через интерфейс SOAP
  • Не загружал html файлы
  • При использовании свойств Apache, упомянутых в предыдущем ответе, появилась веб-страница, но AngularJS не смог получить HTTP-ответ

Сертификат SSL Tomcat истек, пока браузер показал его как безопасный. Сертификат Apache был далек от истечения срока действия. Обновление файла Tomcat KeyStore разрешило проблему.

Ответ 3

У меня есть 2 сервера, настроенных на докер, обратный прокси и веб-сервер. Эта ошибка стала появляться на всех моих сайтах внезапно через 1 год. При настройке ранее, я сгенерировал самоподписанный сертификат на веб-сервере.

Итак, мне пришлось снова сгенерировать сертификат SSL, и он начал работать...

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