J'ai Apache2
(écoute sur 443) et une application Web s'exécutant sur Tomcat7
(écoute sur 8443) sur Ubuntu
.
J'ai défini Apache2 comme proxy inverse pour pouvoir accéder à l'application Web via le port 443 au lieu de 8443. De plus, j'ai besoin d'une communication SSL non seulement entre browser et Apache2, mais aussi entre Apache2 et Tomcat7. . Si j'essaie d'accéder à l'application Web en contactant directement Tomcat7, tout va bien .. Le problème est que, lorsque j'essaie d'accéder à l'application Web de Tomcat via Apache2 (proxy inverse), l'erreur apparaît dans le navigateur. :
Proxy Error
The proxy server could not handle the request GET /web_app.
Reason: Error during SSL Handshake with remote server
Le commentaire de MK m'a orienté dans la bonne direction.
Dans le cas d'Apache 2.4 et supérieur, il existe différentes valeurs par défaut et une nouvelle directive.
J'utilise Apache 2.4.6 et j'ai dû ajouter les directives suivantes pour le faire fonctionner:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
J'ai 2 serveurs installés sur docker, proxy inverse et serveur Web. Cette erreur a commencé à se produire pour tous mes sites tout d'un coup après un an. Lors de la configuration précédente, j'ai généré un certificat auto-signé sur le serveur Web.
J'ai donc dû générer à nouveau le certificat SSL et cela a commencé à fonctionner ...
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt
Face au même problème que OP:
Le certificat SSL Tomcat a expiré alors qu'un navigateur l'a montré comme étant sécurisé - le certificat Apache était loin d'être expiré. La mise à jour du fichier Tomcat KeyStore a résolu le problème.