Ao fazer o proxies de http ou https para https, você precisa configurar o apache como um ssl cliente . Quando o apache fala com seu servidor Tomcat, ele funciona como um cliente web. No entanto, o Apache geralmente não funciona como um cliente SSL pronto para uso.
Em primeiro lugar, sugiro que você primeiro considere se realmente precisa disso, por que está fazendo isso. A prática comum quando o Tomcat e o Apache residem no mesmo servidor é fazer com que o Tomcat apenas ofereça HTTP simples (ou ajp) e descarregue o SSL para o servidor Apache. Normalmente, não há necessidade de ter o ssl entre o servidor apache e o tomcat. Não ter o ssl no servidor tomcat vai lhe poupar muitos problemas.Tudo o que você precisa fazer é, por exemplo, definir um conector HTTP na porta 8080 em sua instância do tomcat e redirecionar todas as solicitações do seu host virtual do Apache SSL:
<VirtualHost _default_:443>
SSLEngine On
SSLCertificateFile /etc/pki/tls/learn2gether/cert-6090205098829887.pem
SSLCertificateKeyFile /etc/pki/tls/learn2gether/private_key_unlocked.pem
SSLCertificateChainFile /etc/pki/tls/learn2gether/rubca-chain.pem
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
ServerName www.learn2gether.rubel.rub.de
ServerAlias learn2gether.rubel.rub.de
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
Mas se você ainda decidir que precisa de um proxy ssl para ssl, precisará adicionar mais alterações. O Apache precisa ser capaz de funcionar como um cliente SSL, assim como um servidor SSL. Quando o Apache fala com outro servidor usando https, afinal, ele assume o papel de cliente. Isso não é tão fácil, e há muitos problemas nos quais você pode entrar. Você precisará adicionar isso:
# turn on SSL proxying.
SSLProxyEngine On
# to tell Apache where to find CA certificates to check server certificates with:
# (You can choose yourself where you put these certificates)
SSLProxyCACertificatePath /path/to/ca/certificates.
Então, nesse caminho, você precisa colocar o certificado CA usado para assinar o certificado usado pelo servidor com o qual você se comunica. Se vocês use um certificado "auto-assinado", você precisará colocá-lo neste diretório.
Depois de fazer isso, você precisa executar "c_rehash" nesse diretório. c_rehash faz parte de uma distribuição openssl padrão. c_rehash cria aliases com hash neste diretório. O Apache precisa disso.
Para testar se está tudo lá, você pode fazer o seguinte:
openssl s_client -CApath /path/to/ca/certificates -connect remoteserver:8443
se a conexão for bem-sucedida, você receberá um aviso onde poderá digitar uma solicitação. Apenas tente algo.
GET /
e veja se você consegue alguma coisa. Se este teste for bem sucedido, o apache também deve funcionar.
Agora você pode adicionar as instruções ReWriteRule ou Proxy para encaminhar conexões ao seu servidor https.