jueves, 18 de diciembre de 2008

Proxy inverso con Pound

Navegando por la red, encontré diferentes forma de hacer un proxy inverso y de todas las que probé, POUND, me convenció mucho, primera por su facilidad y segundo por su flexibilidad.

Pound no es solo un proxy inverso http, también permite balancear cargas y permite https. Fue desarrollado para permitir la distribución de la carga entre varios servidores Web y para permitir un cómodo entorno SSL a los servidores web que no lo ofrecen de forma nativa. Se distribuye bajo la licencia GPL
Escenario:

Internet ------------>>>> Firewall ------>> Servidor Linux

|
|
|
LAN
EMPRESA

En los repositorios basicos y en Packman de OpenSuse 11 se encuentra ya el rpm. Supongo que debian y ubuntu tambien tendran su paquete.

Debian)apt-get install pound

Suse/CentOS) rpm -Uvh pound*

OpenSuse) zypper install pound


Es tan sencillo como instalarlo y configurar el fichero de configuración /etc/pound.cfg

# Start pound as User with Group
User "pound"
Group "pound"
#IP d'origen http
ListenHTTP
Address IP_LOCAL_PROXY_INVERSO
Port 80
End
#IP d'origen https
ListenHTTPS
Address
IP_LOCAL_PROXY_INVERSO
Port 443
Cert "/etc/ssl/local.server.pem"
End

Service
HeadRequire "Host: .*IP_INTERNET.*"
BackEnd
Address IP_SERVIDOR_WEB_LAN
Port 80
End
End


Para generar el certificado ssl hacemos:

# cd /etc/ssl && openssl req -x509 -newkey rsa:1024 -keyout local.server.pem -out local.server.pem -days 365 -nodes


Referencias y más info

Un buen how to: http://www.cyberciti.biz/faq/linux-http-https-reverse-proxy-load-balancer/

Web oficial: http://www.apsis.ch/pound/

No hay comentarios:

Publicar un comentario