Ich habe Apache2
(hört auf 443) und eine Web-App läuft auf Tomcat7
(hört auf 8443) auf Ubuntu
.
Ich habe Apache2 als Reverse-Proxy festgelegt, damit ich über Port 443 anstelle von 8443 auf die Web-App zugreifen kann. Außerdem muss die SSL-Kommunikation nicht nur zwischen Browser und Apache2, sondern auch zwischen Apache2 und Tomcat7 erfolgen. Daher habe ich SSL sowohl für Apache2 als auch für Tomcat7 festgelegt . Wenn ich versuche, auf die Web-App zuzugreifen, indem ich mich direkt an tomcat7 wende, ist alles in Ordnung. Das Problem ist, dass beim Versuch, über apache2 (Reverse Proxy) auf die Web-App des Tomcat zuzugreifen, im Browser der folgende Fehler angezeigt wird:
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
quelle
quelle
SSLProxyCACertificateFile
zu Ihrem privaten CA Certicate, anstatt sich direkt an der Überprüfung.Antworten:
Der Kommentar von MK hat mich in die richtige Richtung gelenkt.
Ab Apache 2.4 gibt es unterschiedliche Standardeinstellungen und eine neue Direktive.
Ich verwende Apache 2.4.6 und musste die folgenden Anweisungen hinzufügen, damit es funktioniert:
quelle
Ich habe 2 Server auf Docker, Reverse Proxy und Webserver eingerichtet. Dieser Fehler trat plötzlich nach 1 Jahr für alle meine Websites auf. Bei der vorherigen Einrichtung habe ich ein selbstsigniertes Zertifikat auf dem Webserver generiert.
Also musste ich das SSL-Zertifikat erneut generieren und es fing an zu funktionieren ...
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt
quelle
Konnte das gleiche Problem wie OP:
Das Tomcat-SSL-Zertifikat ist abgelaufen, während ein Browser es als sicher anzeigt. Das Apache-Zertifikat ist noch lange nicht abgelaufen. Das Aktualisieren der Tomcat KeyStore-Datei hat das Problem behoben.
quelle