Tengo Apache Tomcat ejecutándose con SSL habilitado. Tengo el Servidor HTTP Apache que actúa como un proxy inverso, por lo que si los usuarios presionan http: // myserver / tomcat / se pasan a http: // myserver: 8080 .
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
También tengo el servidor HTTP Apache configurado para SSL, así que cuando los usuarios presionen https: // myserver / tomcat / deberían pasar a https: // myserver: 8443 / .
Con la configuración actual de ProxyPass y ProxyPassReverse, se los redirigirá a la URL que no sea SSL. ¿Cómo puedo configurar el paso de proxy para que redirija a diferentes protocolos y puertos según la solicitud entrante?
Es decir, si alguien entra por HTTPS, ¿cómo puedo redirigirlo a mi tomcat @ https: // myserver: 8443 ?
Actualizar:
@ mike-insch
Lo intenté:
NameVirtualHost *:443
<VirtualHost *:80>
ProxyPass /tomcat/ http://myserver:8080/
ProxyPassReverse /tomcat/ http://myserver:8080/
</VirtualHost>
<VirtualHost *:443>
ProxyPass /tomcat/ https://myserver:8443/
ProxyPassReverse /tomcat/ https://myserver:8443/
</VirtualHost>
Ahora cuando visito: https: // myserver / tomcat / me sale "página no encontrada". En el registro de errores, veo "El archivo no existe: / var / apache2 / htdocs / tomcat"
Lo cual es correcto, pero esperaba que la solicitud se enrutara a Tomcat ejecutándose en https: // myserver: 8443 / .
Supongo que necesito mirar más a los hosts virtuales, a menos que algo se vea claramente mal.
NameVirtualHost
directiva aquí. Además, deberá agregar las directivas apropiadas para habilitar SSL dentro de su<VirtualHost *:443>
sección.