我有Apache2
(在443上收听)以及在Tomcat7
上Ubuntu
(在8443上收听)上运行的网络应用。
我将apache2设置为反向代理,以便通过端口443而不是8443访问Web应用程序。此外,我需要在浏览器和apache2之间以及apache2和tomcat7之间进行SSL通信,因此我在两者上都设置了SSL apache2和tomcat7。 如果我尝试通过直接联系tomcat7来访问Web应用程序,一切都很好。 问题是当我尝试通过apache2(反向代理)访问tomcat的web应用程序时,在浏览器上出现错误:
Proxy Error
The proxy server could not handle the request GET /web_app.
Reason: Error during SSL Handshake with remote server
答案 0 :(得分:212)
MK的评论指出了我正确的方向。
对于Apache 2.4及更高版本,有不同的默认值和新指令。
我正在运行Apache 2.4.6,我必须添加以下指令才能使其正常工作:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
答案 1 :(得分:0)
面临与OP相同的问题:
Tomcat SSL证书已过期,而浏览器显示它是安全的 - Apache证书远未到期。更新Tomcat KeyStore文件解决了这个问题。
答案 2 :(得分:0)
我在docker,反向代理和Web服务器上设置了2个服务器。 一年后,我的所有网站突然开始发生此错误。 较早设置时,我在Web服务器上生成了一个自签名证书。
所以,我不得不再次生成SSL证书,它开始起作用...
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt