Dos servidores con la misma IP publica – Proxy Server

Apache + mod_proxy - Diagrama

Apache + mod_proxy - Diagrama

En una entrada anterior vimos como podíamos tener mas de una pagina en un único servidor con VirtualHost. Gracias a esto podíamos ahorrarnos coste y problemas, ya que también únicamente tenemos un puerto para web que es el 80.

Ahora vamos a tratar otro tema parecido, pero diferente, tener mas de un servidor web con una única IP publica, todo esto, gracias a un modulo Proxy de Apache.
Esto empezó hace tiempo cuando estuve probando las maquinas virtuales XEN. Ello me obligaba a tener un servidor Proxy si quería que mas de una maquina virtual fuera accesible desde la red.

Pero durante un tiempo no fui capaz de hacerlo funcionar, en un principio pensé que eran las complicadas configuraciones de red en XEN, las que no dejaban a las maquinas virtuales acceder a la red.Por tanto, desistí un poco del tema y lo deje apartado, pues ya había consumido mucho de mi tiempo.

Mas tarde encontré el blog de Carlos Beleña en el que comentaba como había creado su propio servidor proxy y gracias al cual tengo que agradecer el que me volviera a picar con el tema, y por fin encontré con la configuración correcta del servidor y probando con las maquinas virtuales XEN, descubrir que el problema fue la configuración del Proxy, no de las tarjetas de red de las maquinas virtuales XEN.

Por eso voy a explicaros como podéis tener un servidor Proxy.

[important]Explicare las dos partes, la parte que a Carlos le sirvió y la que me funciono a mi, dado que por ciertas causas (ahora mismo desconocidas para mi) no nos valió la misma configuración.[/important]

Lo primero es ponernos en contexto, como en el anterior post sobre VirtualHost tenemos sakrow.com y blog.sakrow.com

Primero lo que tenemos que hacer es activar los módulos Proxy de Apache.

a2enmod proxy proxy_http

Primera configuración

Con esto ya tenemos los módulos cargados, y podemos empezar a configurar los VirtualHost. Como hemos dicho antes vamos a suponer que tenemos a sakrow.com y blog.sakrow.com, bien, supongamos que sakrow.com esta en localhost, en nuestra propia maquina, por ello tenemos que dejar la configuración que pusimos anteriormente:

En sakrow:

#Web de sakrow
<VirtualHost *:80>
ServerName 192.168.10.100
ServerAlias sakrow.com
DocumentRoot /var/www/sakrow
DirectoryIndex index.html
ServerAdmin contacto@sakrow.com
</VirtualHost>

Ahora blog.sakrow.com

#Blog de sakrow
<VirtualHost *:80>
ServerName blog.sakrow.com
ProxyPass / http://192.168.10.101
ProxyPassReverse / http://192.168.10.101
</VirtualHost>

Con esto tenemos la configuración de Apache+mod_proxy. A diferencia de Carlos, yo no he usado un dominio para identificar la maquina, he usado directamente su IP. Pero podéis cambiar el 192.168.10.101 por blog.sakrow.com, pero luego tenéis que configurar el Host del terminal

Escribiendo lo siguiente en /etc/hosts:

blog.sakrow.com 192.168.10.101

De este modo, siempre que se haga referencia a blog.sakrow.com el servidor sabrá que se encuentra en la dirección 192.168.10.101. Es como un DNS interno de la maquina.

Ahora lo único que queda es reiniciar el Apache para que cargue las nuevas configuraciones, de modo que podamos empezar a usar el Proxy.

 

Segunda Configuración (la que me valió a mi)

La configuración que habéis visto antes se supone que es suficiente para que el servidor proxy funcione. Pero yo lo probé así y no funciono. En mi caso lo que tuve que hacer dentro de las configuraciones fue esto:

#Blog de Sakrow
<VirtualHost *>
    ServerName blog.sakrow.com
    ServerAlias blog.sakrow.com

    ProxyPreserveHost On
    ProxyRequests Off

#Permitimos las conexiones a traves del proxy

 <Proxy *>
         Order deny,allow
         Allow from all
    </Proxy>

 #Direccion IP del servidor destino

    ProxyPass / http://192.168.10.101/
    ProxyPassReverse / http://192.168.10.101

</VirtualHost>

Aquí ocurre lo mismo que antes, podemos dejarlo con direcciones IP o con dominios.

[notice]Recordad que siempre que dejéis este tipo de configuraciones con dominios, tenéis que configurar el Host, ya que de lo contrario no sabrá que maquina es y no funcionara[/notice]

Ahora la cosa es mas sencilla aun, si ademas de usar el Proxy, queremos tener mas de una web en la otra maquina, solo hace falta configurar bien el Proxy en la que recibe el puerto 80 y hacer VirtualHosts en la que no tiene el proxy, de esta manera podremos tener segmentadas todas las paginas web.

Espero que os sea de gran utilidad, a mi me ha costado mucho conseguir esa configuración.

Gracias Carlos, por picarme de nuevo y que al final lo consiguiera.

7 comentarios

1 ping

Ir al formulario de comentarios

  1. De nada hombre! 😀

    Para mí un placer que te haya servido de algo mi post; esa es la mayor recompensa al escribir.

    Un saludo!

    • ramiro en 20/08/2011 a las 11:46 PM

    Hola, muchas gracias por la información, hice lo que escribio Sacrow pero para que me funcionara tuve que agregar un slash(/) al final de las direcciones ip asi en el archivo /etc/apache2/default

    ServerName mi2dominio.sytes.net
    ServerAlias mi2dominio.sytes.net

    ProxyPreserveHost On
    ProxyRequests Off

    Order deny,allow
    Allow from all

    ProxyPass / http://192.168.0.2/
    ProxyPassReverse / http://192.168.0.2/

    192.168.0.2 es la ip del segundo servidor

    • Sakrow en 23/08/2011 a las 12:26 PM
      Autor

    Es saKrow xD, bueno me alegra que la informacion te sirviera, igual que a mi, la configuracion de Carlos no te funciono.

    Aun no se de que dependera.

    ¿Como tienes montada la red?

  2. waaaa sakrow wachito!!! dame un hijo!!! te admiro!!! *.*

    • Alex en 14/08/2012 a las 12:57 AM

    Excelente muchas gracias, simplemente funciona !!!!!!

    • Mario Pinto en 22/05/2013 a las 4:14 AM

    Buenas muchachos y muchachas, les traigo un problema interesante, tengo 2 internet, uno en una ciudad y otro en otra, cada lugar con su proveedor isp diferente, quiero que los dos lugares trabajen con una sola ip publica ya sea la de un lado o la de el otro, aclaro que ambos sitios están con ip publica estatica y no funciona solo cambiar por cualquier ip como hidden y esas de mentiras por que para lo que hago debo es trabajar con 1 sola ip publica, si me pueden ayudar les agradecería en el alma, muchas gracias.

    • Gilvan en 24/11/2013 a las 7:05 PM

    “Esto empezó hace tiempo cuando estuve probando las maquinas virtuales XEN. Ello me obligaba a tener un servidor Proxy si quería que mas de una maquina virtual fuera accesible desde la red.”

    En esta parte estuviera hablando de algo más de acceso remoto a una máquina virtual usando la misma IP pública y el mismo puerto? ¿En caso afirmativo, podría por favor explicar cómo se hace esto?

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: Apache + mod_proxy – Diagrama En una entrada anterior vimos como podíamos tener mas de una pagina en un único servidor con VirtualHost. Gracias a esto podíamos ahorrarnos coste y problemas, ya que también únicamente tenemos u…..

Deja un comentario

Tu email nunca se publicará.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies