我正在尝试为通过 SSL 运行 tomcat 嵌入服务器的应用程序设置反向代理。该应用程序需要在端口 9002 上通过 SSL 运行,因此我无法为此应用程序“禁用 SSL”。当前的设置架构如下所示:
[192.168.0.10:443 - Apache with mod_proxy] --> [192.168.0.10:9002 - Tomcat App]
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索如何进行这样的设置(和测试)之后,我遇到了这个:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/861137
这导致我当前的配置(尝试模拟 wget 的 --secure-protocol=sslv3 选项)
/etc/apache2/sites/enabled/default-ssl:
<VirtualHost _default_:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLProxyEngine On
SSLProxyProtocol SSLv3
SSLProxyCipherSuite SSLv3
ProxyPass /test/ https://192.168.0.10:9002/
ProxyPassReverse /test/ https://192.168.0.10:9002/
LogLevel debug
ErrorLog /var/log/apache2/error-ssl.log
CustomLog /var/log/apache2/access-ssl.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
问题是错误日志显示错误:14077102:SSL 例程:SSL23_GET_SERVER_HELLO:不支持的协议
完整的请求日志:
[Wed Mar 13 20:05:57 2013] [debug] mod_proxy.c(1020): Running scheme https handler (attempt 0)
[Wed Mar 13 20:05:57 2013] [debug] mod_proxy_http.c(1973): proxy: …Run Code Online (Sandbox Code Playgroud)