Mam Apache2
(nasłuchiwanie na 443) i aplikację internetową działającą Tomcat7
(nasłuchiwanie na 8443) na Ubuntu
.
Ustawiłem apache2 jako odwrotne proxy, aby uzyskać dostęp do aplikacji internetowej przez port 443 zamiast 8443. Poza tym muszę mieć komunikację SSL nie tylko między przeglądarką a apache2, ale także między apache2 i tomcat7, dlatego ustawiam SSL zarówno na apache2, jak i tomcat7 . Jeśli spróbuję uzyskać dostęp do aplikacji internetowej, kontaktując się bezpośrednio z tomcat7, wszystko jest w porządku. Problem polega na tym, że kiedy próbuję uzyskać dostęp do aplikacji internetowej tomcata przez apache2 (odwrotne proxy), w przeglądarce pojawia się błąd:
Proxy Error
The proxy server could not handle the request GET /web_app.
Reason: Error during SSL Handshake with remote server
apache
tomcat
ssl
reverse-proxy
user2791481
źródło
źródło
SSLProxyCACertificateFile
na swój prywatny certyfikat CA, zamiast po prostu wyłączać weryfikację.Odpowiedzi:
Komentarz MK wskazał mi właściwy kierunek.
W przypadku Apache 2.4 i nowszych są różne ustawienia domyślne i nowa dyrektywa.
Używam Apache 2.4.6 i musiałem dodać następujące dyrektywy, aby działał:
źródło
Mam 2 serwery skonfigurowane na dockerze, odwrotnym proxy i serwerze internetowym. Ten błąd zaczął się nagle pojawiać we wszystkich moich witrynach internetowych po 1 roku. Podczas wcześniejszej konfiguracji wygenerowałem certyfikat z podpisem własnym na serwerze sieciowym.
Musiałem więc ponownie wygenerować certyfikat SSL i zaczął działać ...
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt
źródło
Napotkał ten sam problem co OP:
Certyfikat SSL Tomcat wygasł, a przeglądarka pokazała go jako bezpieczny - certyfikat Apache był daleki od wygaśnięcia. Aktualizacja pliku Tomcat KeyStore rozwiązała problem.
źródło