Configuración de un reverse-proxy¶
Tomcat escucha en http en el puerto 8080. Para pasar a https en un puerto estándar, elegimos poner delante del Tomcat un reverse-proxy apache.
La configuración de este revertse-proxy es independiente de la de la servlet PWM a la que da acceso (o casi1), por lo cual la podemos hacer antes o después.
Hacerla antes tiene la ventaja de seguir trabajando con intercambios seguros.
Instalamos apache:
aptitude install apache2
Activamos ssl y reiniciamos apache:
a2enmod ssl
service apache2 restart
Generamos una solicitud de certificado ssl para el dominio identidad.interior.edu.uy
y su correspondiente clave privada, como indicado en los procedimientos de la CA. Solicitamos la firma de dicha solicitud, sacamos la passphrase a la clave privadas, e instalamos en el servidor los archivos de certificado y clave, que configuramos más adelante en el VrtualHost.
Creamos en /etc/apache2/sites-available un archivo se VirtualHost que se llame identidad.interior.edu.uy-revpxy-ssl.conf
, copiando el default-ssl y modificando:
<VirtualHost *:80> ServerName identidad.interior.edu.uy ServerAlias identidad.interior.udelar.edu.uy www.identidad.interior.edu.uy www.identidad.interior.udelar.edu.uy ServerAdmin soporte@interior.edu.uy Redirect "/" "https://identidad.interior.edu.uy/" </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName identidad.interior.edu.uy ServerAlias identidad.interior.udelar.edu.uy www.identidad.interior.edu.uy www.identidad.interior.udelar.edu.uy ServerAdmin soporte@interior.edu.uy Redirect "/" "https://identidad.interior.edu.uy/pwm" <If "%{HTTP_HOST} != 'identidad.interior.edu.uy'"> Redirect "/" "http://identidad.interior.edu.uy/pwm" </If> <Location /pwm> ProxyPass http://identidad.interior.edu.uy:8080/pwm ProxyPassReverse http://identidad.interior.edu.uy:8080/pwm </Location> .... #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLCertificateFile /etc/ssl/certs/identidad.interior.edu.uy-cert.pem SSLCertificateKeyFile /etc/ssl/private/identidad.interior.edu.uy-key.pem .... </VirtualHost> </IfModule>
Activamos el VirtualHost creado y desactivamos el Virtual por omisión:
a2ensite identidad.interior.edu.uy-revpxy-ssl.conf
a2dissite 000-default.conf
service apache2 reload
El acceso al servicio de registro PWM queda entonces activado en la dirección:
[1] es la presencia de este reverse proxy que había planteado problemas para la distinción del llamado al re-captcha en http o https.