mod_proxy

01.sep 2005 Envía un trackback

Siguiendo buenas costumbres informáticas, un ordenador que ofrece servicios normalmente no ha de ser una buena plataforma de desarrollo. Las razones son evidentes, por lo que a veces podemos permitirnos el lujo de servir en un equipo y desarrollar en otro.

Entorno

Definamos el entorno: 3 ordenadores con sistema operativo *nix, cada uno con su Apache, el principal es servidor haciendo a su vez funciones de firewall:
  • servidor: (190.12.12.12 - 192.168.0.1)
  • portatil: (192.168.0.3)
  • desarrollo: (192.168.0.2)

Solución 1

El asunto está en el momento que el cliente se interesa por su versión beta, la cual quiere supervisar. No es algo difícil de solucionar: en el servidor, firewall -o donde corresponda- se hace una redirección de un puerto alto al Apache de la máquina en la que desarrollamos y listo. Como el número de puertos ofrece un ámplio abanico de selección, podríamos hacer lo mismo con varias máquinas de la red local:



Solución, eficaz y sencilla pero esta vez no concluyente, quería ir más allá. ¿Podría con una sola IP pública (190.12.12.12) servir 3 Apaches distintos: servidor, desarrollo y portatil sin este lío de números?, acordarme de los puertos no es complicado, pero menos complicado sería hacer referencia directa al nombre de la máquina. Solución: mod_proxy.

Solución 2

Por lo tanto, activando mod_proxy en el Apache de servidor y creando un par de registros A en el correspondiente archivo de configuración named de dominio.com el entorno quedaría tal que así:



Configurando Apache

En el conocido httpd.conf seguimos el include que nos lleva a /etc/apache/modules.conf. Saltándonos el comentario que nos recomienda no editar este archivo introducimos una única entrada para cargar la librería libproxy:
LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
Ahora vayamos al archivo de hosts virtuales (vhosts.inc en mi caso) añadiendo lo siguiente:
<VirtualHost *:80>
        ServerName              portatil.dominio.com
        ProxyPass               / http://192.168.0.3/
        ProxyPassReverse        / http://192.168.0.3/
</VirtualHost>

<VirtualHost *:80>
        ServerName              desarrollo.dominio.com
        ProxyPass               / http://192.168.0.2/
        ProxyPassReverse        / http://192.168.0.2/
</VirtualHost>
Para hacer todos los cambios efectivos bastará con un reinicio de Apache.

Configurando Bind9

Es evidente que si en el archivo de configuración bind9 no tenemos las entradas A de portatil y desarrollo de poco servirían todos nuestros cambios en Apache, por lo que editamos /etc/bind/master/dominio.com.hosts agregando:
portatil                  A       190.12.12.12
desarrollo                A       190.12.12.12
Un reinicio de Bind sería el último paso de esta configuración.
linux

Trackbacks
1. Proxy caché inverso, por blackshell

Parece que Technorati aguanta mucha carga, y no terminan de dar con el clavo que les permita dar una calidad de servicio aceptable. A mi siempre me va realmente lento, y a veces incluso da errores, como el siguiente: ¡Más máquinas...

2. interesante post sobre mode_proxy, por ariel`s weblog

Leyendo muy temprano los _feeds_ llego al weblog de r0sk donde comenta sobre una tipica red local en la cual existen 3 maquinas corriendo apache pero una es el gateway, el habla de una de las soluciones mas usadas en este caso y es la de redirección d...

3. mod_proxy, por Blog de THroLL

Situémonos:
Teño dous servidores web (Apache) na miña rede.
Cada un sirve páxinas diferentes para dominios diferentes e gustaríame que ambos recibisen peticións no porto 80 (básico) e que isto resultase transparente ó usuario.
Vendo o problema recordei...


Comentarios
Gravatar Wu@01.09.2005, 'Re: mod_proxy'

Da gusto ver que has vuelto, y con mas animo!, empiezas bien despues de las vacas!

Gravatar Wu@02.09.2005, 'Re: mod_proxy'

Por cierto, que siempre que escucho/hablo/leo algo sobre este tema, me acuerdo de una ezine cojonuda que segui durante mucho tiempo, que en si dia tuvo un articulo genial sobre el tema, pero usando squid:

http://ezine.daemonnews.org/200202/multiweb.html

Gravatar pollo@12.09.2005, 'Re: mod_proxy'

El jodio proxy "inverso" de apache es un clasico , merluzo no podria haber vivido sin el. Pero como dice por ahi Wu la opcion del squid parece mejor , eso si cuesta mas de implementar , asi que como somos jovenes y no queremos perder el tiempo y haciernos viejos mientras configuramos squid , por mi parte seguire usando apache como proxy pass.

Gravatar coder@13.09.2005, 'Re: mod_proxy'

POllo desde aquí te diré algo socio, si no juntas más de 10.000 horas de administración avanzada de UNIX ólvidate de esta profesión colega o jamás conseguirás instalar la mierda aquella del webcp xD

Gravatar pollo@13.09.2005, 'Re: mod_proxy'

Ye yo quiero un cabeza como la tuya coder , esas cabezas las dan con 10.002 horas de admistracion unix.

Gravatar r0sk@13.09.2005, 'Re: mod_proxy'

Data: 10.000 horas de administración UNIX son cerca de unos 5 años currando 8h. al día, 22 días al mes, 11 meses al año y sin tocarse la seta.


Escribe tu comentario
 
 
Guardar datos
Escribe tu comentario:
captcha


Intenta que tu comentario sea interesante y con información relevante al tema de la entrada. BBCodes disponibles: [url=http://direccion]texto[/url], negrita: [b]texto[/b], itálica: [i]texto[/i], subrayada: [u]texto[/u]. Para mencionar o citar a alguien (quote): [cita]texto[/cita]