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

65

У меня есть 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
  • 0
    Apache не доверяет сертификату, который вы установили на tomcat. Это самозаверяющий сертификат? Или это сделано внутренним CA?
  • 2
    Самостоятельно подписывается этой командой: openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Показать ещё 3 комментария
Теги:
tomcat
ssl
reverse-proxy

2 ответа

132

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

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

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

SSLProxyEngine on
SSLProxyVerify none 
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
  • 0
    Таким образом, это отключает защиту, но пока трафик локальный (т. Е. 127.0.0.1:8443 ), это должно быть меньшей проблемой, верно?
  • 3
    Ну, это не отключает защиту, поскольку речь идет о шифровании. Трафик все еще зашифрован. Это просто отключает проверку сертификата, чтобы убедиться, что это доверенным органом. Поэтому, если вы доверяете серверу, у вас не должно быть проблем. Но да, для местного трафика я думаю, что вы тоже хорошо.
Показать ещё 7 комментариев
0

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню