Cómo hacer un proxypass en Apache

Antonio J. Galisteo

En esta ocasión vamos a aprender cómo hacer un proxypass en Apache. Antes de comenzar tenemos que saber qué es un proxypass. Un proxypass es una especie de redirección donde le indicamos a Apache que si recibe peticiones de un determinado host, midominio.com, lo rediriga a otro servidor.

Este tipo de redirecciones son útiles cuando tenemos un servicio apuntando a una IP, lo cambiamos a una máquina con otra IP y no tenemos la posibilidad de modificar esta IP desde donde se esté accediendo.

Ahora que ya sabemos más o menos qué es y para que sirve y proxypass vamos a ver cómo hacerlo. Para ello, vamos a editar el host virtual de Apache al que deseamos hacer el proxypass, quedando así:

< VirtualHost *:80>
    # correo electronico
    ServerAdmin mail@mail.com
    
    # nombre del virtualhost
    ServerName midominio.com

    ProxyPass / http://ip-dominionuevo.com/
    ProxyPassReverse / http://ip-dominionuevo.com/
< / VirtualHost>

De esta forma, con los parámetros ProxyPass y ProxyPassReverse podemos redirigir todo el tráfico a la nueva ip o dominio (poner uno de los dos, no ambos) que deseamos de forma totalmente transparente para el usuario.

Cuando tenemos un servicio con HTTS, la cosa se complica un poco, pero nada que no se pueda resolver. El host virtual con https quedaría de la siguiente forma:

< VirtualHost *:443>

    # correo electronico
    ServerAdmin mail@mail.com
    
    # nombre del virtualhost
    ServerName midominio.com

    ProxyPass / https://ip-dominionuevo.com/
    ProxyPassReverse / https://ip-dominionuevo.com/

    # habilitar SSL
    SSLEngine on
    # certificados
    SSLCertificateFile      /ruta/ssl/cert.pem
    SSLCertificateKeyFile   /ruta/ssl/cert.key

    ProxyRequests off
    SSLProxyEngine on
    SSLProxyVerify none 
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
< / VirtualHost>

Como puedes ver, la diferencia es que estamos haciendo el proxypass a un host con https, estamos habilitando SSL y con los últimos parámetros estamos indicando que no valide ciertas propiedades del SSL que obviamente, como son hosts distintos, dichas propiedades del certificado van a ser diferentes.

Con esto ya tenemos hecho el proxypass por HTTP y HTTPS de nuestro host virtual en Apache.

Puedes aprender más en nuestra sección de Servidores.

Espero que te haya sido de utilidad!

Publicado el 02-07-2019

Donar

Si te ha sido de ayuda y quieres hacer una donación te lo agradeceremos :)

Compartelo!


Deja un comentario

Comentanos

*

Ir arriba de la pagina