En este tutorial veremos como configurar un Reverse Proxy con el módulo mod_proxy de Apache. También usando certificados SSL(certificado de seguridad).
Vamos a aprender a utilizar el módulo proxy de Apache.
Para aquellos que desarrollan aplicaciones o sistemas web, en algún momento han tenido que hacer un bypass dns. Cuando son diferentes tecnologías posiblemente la implementación la hagas a través de subdominios apuntando a un servidor local desde internet.
Con este tutorial podrás configurar rutas especificas dentro del mismo dominio que funcionen como puente hacia otras aplicaciones en el mismo servidor. También reutilizando un certificado SSL que exista en el sitio web principal, dando cobertura a las aplicaciones bajo esta configuración.
Actualizar conexión con Facebook Apache posee por defecto un buen número de módulos que nos pueden ser útiles para diferentes funciones, hoy vamos a aprender el mod_proxy.
Habilitar mod_proxy en Apache
Para habilitar y deshabilitar módulos en Apache utilizamos los comandos a2enmod y a2dismod.
sudo a2enmod proxy_http
Y luego se debemos reiniciar el servicio:
sudo service apache2 restart
Configuración del vhost
A continuación un ejemplo de vhost básico.
Basándonos en este ejemplo, digamos tenemos una aplicación corriendo en el mismo servidor bajo el puerto 8080, queremos que al acceder a la ruta http://www.jaimefranko.com/app nos presente dicha aplicación.
Lo que debemos hacer es utilizar la directiva ProxyPass y ProxyPassReverse para presentar correctamente la aplicación bajo la ruta que vamos a especificar. Para eso modificamos el archivo vhost.
Ahora vamos a editar el archivo vhost con el editor de texto nano.
Una vez hecho el cambio, debemos reiniciar la configuración del vhosts, lo hacemos con el siguiente comando:
sudo service apache2 reload
Ahora cuando accedemos al dominio principal bajo la ruta /app/ se debe desplegar nuestra aplicación.
Configuración del vhost con SSL
En el caso deseamos configurar un Reverse Proxy que utilice el SSL del dominio principal, aparte de la directiva ProxyPass y ProxyPassReverse, existen dos directivas más que debemos utilizar.
Tomemos el siguiente vhosts como ejemplo con SSL
SSLProxyEngine hace el trabajo de que el puente vaya cifrado con el certificado que hemos configurado en el dominio principal. ProxyPreserveHost hace que el dominio principal persista en todas las rutas y cabeceras HTTP. Esto para evitar algún error de seguridad con respecto al dominio del certificado.