Hay veces que nos es necesario tener dos maquinas diferentes, que lleven
instalado un servidor web cada una, bajo una unica IP publica.
Pues bien, este truco explica como configurar un Apache, para que cuando
reciba peticiones sobre el dominio que sirve otra maquina de nuestra misma
red local, le redirija dichas peticiones.
Ya se sabe que esto no debería ser ningún problema con los Virtual Host de
Apache, pues nuestro amigable servidor web, puede servir infinidad de
dominios, sin necesidad de gastarnos el dinero en una segunda maquina.
Pero en ocasiones, no es necesario realizar este tipo de configuraciones en
nuestra LAN, ya sea porque el jefe nos lo "aconseja", porque hay
desarrolladores que necesitan acceso desde fuera, a ese servidor web que
están machacando o porque hay cierto producto propietario que necesita ir en
un servidor Web determinado (por buscarle alguna explicación).
Esto mismo debieron de pensar los desarrolladores de Apache, pues utilizando
algunas directivas que veremos enseguida, nos dan la posibilidad de utilizar
otra maquina con un servidor web instalado, por detrás.
Pero empecemos de una vez el trabajo:
Indicaciones Previas:
Imaginemos para nuestro ejemplo que tenemos un servidor web Apache,
directamente conectado a nuestro Router, modem, firewall, etc.. cuya ip de
la LAN es 192.168.1.1 y cuya ip publica es 1.1.1.1. Esta maquina sirve el
dominio www.dominio1.com. Imaginemos ahora que detrás de este Apache, en
otra maquina diferente hay otro servidor web instalado (ya sea otro Apache,
IIS, etc, etc...). Dicha maquina tiene una ip privada 192.168.1.2 y sirve el
dominio www.dominio2.com
Paso 1: Configurar nuestro /etc/hosts
En el fichero /etc/hosts del primer servidor (el que tendrá instalado el
Apache), tendremos que indicarle quien es en realidad ese dominio, de esta
manera:
192.168.1.2 www.dominio2.com
Paso 2: Configuramos el Apache
Editamos el fichero httpd.conf (que en debian está en /etc/apache/httpd.conf
y en redhat en /etc/httpd/conf/httpd.conf) y primero comprobamos que existe
una linea similar a esta:
LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
Si esta comentada, descoméntala, si no esta siquiera, añadela a mano, pues
este modulo suele venir incluido en el Apache que nos instala nuestra
distribución preferida. Si compilas el Apache, acuerdate de incluir este
modulo en la compilación.
Una vez añadimos esta linea, añadiremos un VirtualHost que haga referencia a
www.dominio2.com:
# Si ponemos "*", nos evitamos el problema de tener ip dinámica
# que haga referencia a todas las ips de la maquina
NameVirtualHost *
<VirtualHost *>
ServerName www.dominio2.com
ProxyPass / http://www.dominio2.com/
ProxyPassReverse / http://www.dominio2.com/
</VirtualHost>
Y asunto terminado, ya podemos conectarnos desde fuera a nuestro segundo
servidor web y visitar el dominio www.dominio2.com
|